Installation Guide
Seekarr runs as a Docker container. All configuration is done through the web UI — no config files need to be edited manually. Choose the method that best fits your setup.
Docker Run
The quickest way to get started:
docker run -d --name seekarr \
--restart always \
-p 9705:9705 \
-v /your-path/seekarr:/config \
-e TZ=America/New_York \
ghcr.io/diybits/seekarr:latest
Replace /your-path/seekarr with a directory on your host where Seekarr should store its configuration and state. Replace America/New_York with your own timezone.
Check the logs after starting:
docker logs seekarr --follow
Docker Compose
Add the following service to your docker-compose.yml:
services:
seekarr:
image: ghcr.io/diybits/seekarr:latest
container_name: seekarr
restart: always
ports:
- "9705:9705"
volumes:
- /your-path/seekarr:/config
environment:
- TZ=America/New_York
# Uncomment if running behind a reverse proxy:
# - TRUSTED_PROXIES=*
Then start it:
docker compose up -d seekarr
Unraid
Run from the Unraid terminal:
docker run -d --name seekarr \
--restart always \
-p 9705:9705 \
-v /mnt/user/appdata/seekarr:/config \
-e TZ=America/New_York \
ghcr.io/diybits/seekarr:latest
Volume Mapping
The /config volume is where Seekarr stores everything — app settings, state, sessions, and logs. Map it to a persistent location on your host so data survives container updates.
| Container path | Purpose |
|---|---|
/config |
All persistent data. Required. |
Environment Variables
| Variable | Required | Description |
|---|---|---|
TZ |
Recommended | Timezone for log timestamps, e.g. America/New_York. Defaults to UTC. |
TRUSTED_PROXIES |
If behind a proxy | Set to * or a comma-separated list of proxy IPs/CIDRs when Seekarr runs behind Nginx, Traefik, Caddy, etc. See the Configuration Reference. |
SECRET_KEY |
Optional | Custom Flask session key. Auto-generated on first start if not set. |
Updating
Pull the latest image and recreate the container — your /config volume is preserved:
# Docker Run
docker pull ghcr.io/diybits/seekarr:latest
docker stop seekarr && docker rm seekarr
# re-run the original docker run command
# Docker Compose
docker compose pull seekarr
docker compose up -d seekarr