Configuration Overview¶
SeedReap is configured via a YAML file or environment variables. The configuration file is searched for in these locations (in order):
- Path specified with
--configflag ./config.yaml~/.seedreap.yaml/config/config.yaml
Full Example¶
server:
listen: "[::]:8423"
sync:
downloadsPath: /downloads
syncingPath: /downloads/syncing
maxConcurrent: 2
parallelConnections: 8
pollInterval: 30s
transferSpeedMax: 0 # per file, 0 = unlimited
downloaders:
seedbox:
type: qbittorrent
url: http://seedbox:8080
username: admin
password: your-password
ssh:
host: seedbox
port: 22
user: qbittorrent
keyFile: /config/ssh/id_ed25519
apps:
sonarr:
type: sonarr
url: http://sonarr:8989
apiKey: your-sonarr-api-key
category: tv-sonarr
radarr:
type: radarr
url: http://radarr:7878
apiKey: your-radarr-api-key
category: movies-radarr
misc:
type: passthrough
category: misc
Environment Variables¶
SeedReap can be configured entirely using environment variables - no config file needed. All options use the SEEDREAP_ prefix with underscores for hierarchy:
SEEDREAP_SERVER_LISTEN="[::]:8423"
SEEDREAP_SYNC_DOWNLOADSPATH="/downloads"
SEEDREAP_SYNC_MAXCONCURRENT=4
See Environment Variables for complete documentation and examples.
Configuration Sections¶
| Section | Description |
|---|---|
| server | HTTP server settings |
| authentication | Authentication guidance |
| sync | Transfer and sync settings |
| downloaders | Download client configurations |
| apps | App configurations |
| environment variables | Complete env var reference |
Server¶
| Option | Type | Default | Description |
|---|---|---|---|
listen | string | [::]:8423 | Address and port for HTTP server |
Authentication¶
SeedReap does not include built-in authentication. The web UI and API are read-only and only display the current status of downloads and transfers - no sensitive operations can be performed through them.
If you need to restrict access to the UI or API, place a reverse proxy in front of SeedReap that handles authentication. Common options include:
- Nginx with basic auth or OAuth2 proxy
- Traefik with forward auth middleware
- Caddy with basicauth or forward_auth
- Authelia or Authentik for SSO
Example with Traefik and basic auth:
services:
seedreap:
image: ghcr.io/seedreap/seedreap:latest
labels:
- "traefik.enable=true"
- "traefik.http.routers.seedreap.rule=Host(`seedreap.example.com`)"
- "traefik.http.routers.seedreap.middlewares=seedreap-auth"
- "traefik.http.middlewares.seedreap-auth.basicauth.users=admin:$$apr1$$..."
Sync¶
sync:
downloadsPath: /downloads
syncingPath: /downloads/syncing
maxConcurrent: 2
parallelConnections: 8
pollInterval: 30s
transferSpeedMax: 0 # per file, total max = this * maxConcurrent
See Sync Settings for detailed documentation.