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