jfroment / seedbox

A Docker-powered seedbox with persistent data and more cool stuff.
MIT License
322 stars 46 forks source link
docker docker-compose docker-images letsencrypt plex radarr seedbox self-hosted sonarr traefik tv-shows

Seedbox

An extensive and hackable collection of containerized services to set up a seedbox and personal media server.


✨ Features

⚠️ News

Version 2 is released, please make sure you read this V2 Migration Guide as there are breaking changes!

📦 Included Applications

Application Web Interface Docker image Version (image tag) Notes
Plex plex.yourdomain.com linuxserver/plex latest Media Streaming
Deluge deluge.yourdomain.com linuxserver/deluge latest Torrents downloader
Flood flood.yourdomain.com jesec/flood latest Web client for Deluge (experimental)
Sonarr sonarr.yourdomain.com linuxserver/sonarr develop TV Shows monitor
Radarr radarr.yourdomain.com linuxserver/radarr develop Movies monitor
Bazarr bazarr.yourdomain.com linuxserver/bazarr latest Subtitles monitor
Lidarr lidarr.yourdomain.com linuxserver/lidarr develop Music monitor
Readarr readarr.yourdomain.com linuxserver/readarr nightly Ebook and comic monitor
Calibre calibre-admin.yourdomain.com linuxserver/calibre latest eBook management
Calibre-web calibre.yourdomain.com linuxserver/calibre-web nightly Book management UI
Komga komga.yourdomain.com gotson/komga latest Comic Book Manager
Kavita Kavita.yourdomain.com gotson/komga latest Comic Book Manager
Ombi ombi.yourdomain.com linuxserver/ombi latest Plex content requests
Overseerr overseerr.yourdomain.com linuxserver/overseerr latest Plex content requests
Jackett jackett.yourdomain.com linuxserver/jackett latest Tracker indexer
Prowlarr prowlarr.yourdomain.com linuxserver/prowlarr develop Tracker indexer
JDownloader jdownloader.yourdomain.com jlesage/jdownloader-2 latest Direct downloader
Tautulli (plexPy) tautulli.yourdomain.com linuxserver/tautulli latest Plex stats and admin
Tdarr tdarr.yourdomain.com haveagitgat/tdarr latest Re-encode files
NextCloud nextcloud.yourdomain.com linuxserver/nextcloud latest Files management
NextCloud-db (MariaDB) not reachable mariadb 10 DB for Nextcloud
Portainer portainer.yourdomain.com portainer/portainer latest Container management
Netdata netdata.yourdomain.com netdata/netdata latest Server monitoring
Duplicati duplicati.yourdomain.com linuxserver/duplicati latest Backups
Heimdall yourdomain.com linuxserver/heimdall latest Main dashboard
Syncthing syncthing.yourdomain.com linuxserver/syncthing latest P2P files sharing
Traefik traefik.yourdomain.com traefik latest Traefik reverse proxy (access to admin dashboard)
Gluetun - qmcgaw/gluetun latest VPN client
Any application you want! whatever.yourdomain.com Any image Any tag Any service - See the Configuration Guide

🌐 Traefik

The front-end reverse proxy (Traefik - check this guide if you still have the seedbox with Traefik v1) routes based on the lowest level subdomain (e.g. deluge.example.com would route to deluge). Since this is how the router works, it is recommended for you to get a top level domain. If you do not have one, you can edit your domains locally by changing your hosts file or use a browser plugin that changes the host header.

Traefik takes care of valid Let's Encrypt certificates and auto-renewal.

Note: Plex is also available directly through the 32400 port without going through the reverse proxy.

You can also add your own Traefik rules to integrate with other services (deployed wihthin docker or somewhere else on your LAN, or even on the Internet). Check the Configuration Guide.

⚙️ Installation

Dependencies

Prepare your host

Before running, please create the volumes which will be statically mapped to the ones on the host: For example:

sudo su -c "mkdir /data && mkdir /data/config && mkdir /data/torrents"
./init.sh

Edit the .env file and change the variables as desired. The variables are all self-explanatory.

Review the configuration

The configuration lives in the config.yaml file.

All you need to know is located in the Configuration Guide.

Running & updating

./run-seedbox.sh

All services and synamic configuration will be automatically created without further action from your part.

Make sure you install the dependencies and finish configuration before doing this.

Where is my data?

All data is saved in the docker volumes seedbox_config or seedbox_torrents. These volumes are mapped to the config and torrents folders located in /data on the host. You can change these static paths in the docker-compose.yml file. Thanks to the local-persist Docker plugin, the data located in these volumes is persistent, meaning that volumes are not deleted, even when using the docker-compose down command. It would be a shame to loose everything by running a simple docker command ;-)

Configure your apps