selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

GitHub
seedbox logo

Self-host seedbox

v3.0.0

Docker-powered seedbox and personal media server stack

ReleaseOpen SourceMIT
Updated8 hours ago
LanguageShell
Setup difficultyAdvanced
Stars
403
Ports
80 (Traefik HTTP entrypoint (redirects to HTTPS)), 443 (Traefik HTTPS entrypoint)
Requires
Docker, Docker Compose, Jq, Yq
Install with Docker Compose
seedbox screenshot 1

What is seedbox?

Seedbox is a self-hosted, open-source project that bundles a wide range of containerized applications into a single Docker Compose stack for running a personal seedbox and media server. It includes media streaming (Plex, Jellyfin), torrent clients (Deluge, qBittorrent), *arr apps (Sonarr, Radarr, Lidarr, Bazarr, Prowlarr), media management (Calibre, Komga, Kavita, Mylar), dashboards (Heimdall, Homepage), file storage (Nextcloud, FileBrowser, Syncthing), and many other services. The stack uses Traefik as a reverse proxy with automatic Let's Encrypt certificate management, supports VPN routing via gluetun, and provides a declarative configuration system where users enable services in config.yaml and customize them via override files without touching upstream files. Installation requires Docker, Docker Compose, jq, and yq, and is performed via provided shell scripts (init.sh and run-seedbox.sh). The project is actively maintained with version 3.0.0 released in October 2026.

Should you self-host seedbox?

seedbox scores 52/100 on selfhost.directory (how scoring works) and ranks #52 of 118 in Media Server. It has 403 GitHub stars.

It shipped 1 stable release in the past year. The latest, v3.0.0, came out on 12 October 2026.

Setup is advanced: plan for several services and some ongoing maintenance. It is MIT-licensed and written mostly in Shell.

Its closest alternative on selfhost.directory is Jellyfin (88/100, 58 727 stars). It scores higher overall, so compare the two before you pick. See seedbox vs Jellyfin side by side.

Features

  • Add your own services
  • Automatic HTTPS with Let's Encrypt
  • Automatic template synchronization
  • Client certificate authentication (mTLS)
  • Configuration validation
  • Custom Traefik rules
  • Declarative service configuration
  • Internal-only access control
  • NFS media storage support
  • Override system for customization
  • Service dependency management
  • VPN routing per service

seedbox README

How to install seedbox

Install seedbox with Docker Compose

Environment variables
TRAEFIK_DOMAIN, ACME_MAIL, TZ, HTTP_USER, HTTP_PASSWORD, HOST_CONFIG_PATH, HOST_MEDIA_PATH, DOWNLOAD_SUBFOLDER, DOCUMENTS_SUBFOLDER, PUID, PGID, DOCKER_PRUNE_AFTER_UPDATE, TRAEFIK_CUSTOM_ACME_RESOLVER, FLOOD_AUTOCREATE_USER_IN_DELUGE_DAEMON, NFS_MEDIA_VOLUME, NFS_IP

sudo mkdir -p /data/config /data/torrents && sudo chown -R $USER: /data ./init.sh

Edit .env file and services//custom/service.env files

./run-seedbox.sh

Requires Docker >= 20.10, Docker Compose >= 2.27.2, jq >= 1.5, yq >= 4

How to configure seedbox

  • ACME_MAILmy-email@my-provider.comEmail for Let's Encrypt certificate registration

    Email for Let's Encrypt certificate registration

  • DOCKER_PRUNE_AFTER_UPDATEfalseRemove unused Docker images and volumes after each run (applies to whole host)

    Remove unused Docker images and volumes after each run (applies to whole host)

    values: true, false

  • DOCUMENTS_SUBFOLDERdocumentsSubfolder under HOST_MEDIA_PATH for documents

    Subfolder under HOST_MEDIA_PATH for documents

  • DOWNLOAD_SUBFOLDERdelugeSubfolder under HOST_MEDIA_PATH for downloads

    Subfolder under HOST_MEDIA_PATH for downloads

  • FLOOD_AUTOCREATE_USER_IN_DELUGE_DAEMONfalseAutomatically create Flood user in Deluge daemon

    Automatically create Flood user in Deluge daemon

    values: true, false

  • HOST_CONFIG_PATH/data/configHost path for service configuration and data directories

    Host path for service configuration and data directories

  • HOST_MEDIA_PATH/data/torrentsHost path for media and downloads

    Host path for media and downloads

  • HTTP_PASSWORDmypassword_encodedhtpasswd-encoded password for HTTP basic authentication

    htpasswd-encoded password for HTTP basic authentication

  • HTTP_USERmyuserUsername for HTTP basic authentication

    Username for HTTP basic authentication

  • NFS_IP192.168.0.XXXNFS server IP address

    NFS server IP address

  • NFS_MEDIA_VOLUME:/volume1/homes/youruser/mediaNFS volume share for media (when using NFS)

    NFS volume share for media (when using NFS)

  • PGID1000Group ID for container file permissions

    Group ID for container file permissions

  • PUID1000User ID for container file permissions

    User ID for container file permissions

  • TRAEFIK_CUSTOM_ACME_RESOLVERchangemeCustom ACME DNS provider for Let's Encrypt (e.g., cloudflare, ovh)

    Custom ACME DNS provider for Let's Encrypt (e.g., cloudflare, ovh)

  • TRAEFIK_DOMAINmydomain.comYour domain name for Traefik routing (e.g., mydomain.com)

    Your domain name for Traefik routing (e.g., mydomain.com)

  • TZEurope/ParisTimezone for containers

    Timezone for containers

seedbox releases & version history

More in Self-hosting

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…