This docker-compose.yml
file sets up a comprehensive home server environment, providing various services for managing media and downloads. The setup includes the following services:
A service running a container with the latest version of Prowlarr, a media management tool for monitoring and managing your media collection. It is accessible at http://prowlarr.lab
.
A service running a container with Radarr, a movie management tool for organizing and tracking movies in your collection. It is accessible at http://radarr.lab
.
A service running a container with Sonarr, a TV show management tool for organizing and tracking TV series. It is accessible at http://sonarr.lab
.
A service running a container with Overseerr, a media request and management tool. It allows users to request new movies and TV shows for your collection. It is accessible at http://overseerr.lab
.
A service running a container with AutoBRR, a tool for automating BitTorrent ratio rules and seeding. It is accessible at http://autobrr.lab
.
A service running a container with SABnzbd, a Usenet client for downloading and managing Usenet content. It is accessible at http://sabnzbd.lab
.
A service running a container with Pyload-NG, a download manager for various protocols, including HTTP, FTP, and BitTorrent. It is accessible at http://pyload.lab
.
A service running FileBrowser, a file manager accessible at http://filebrowser.lab
. It allows you to browse and manage files on your server.
A container running Watchtower, which automatically updates other containers to their latest available image versions.
A container running Traefik, serving as a reverse proxy. It enables access to the services using the specified hostnames in each serviceās configuration. It listens on ports 80 (HTTP) and 8081 (Traefik API).
Make sure you have Docker and Docker Compose installed on your home server.
Create the necessary directories on your host system for storing configurations and data. For example, create directories named /appdata/prowlarr
, /appdata/radarr
, /appdata/sonarr
, /appdata/overseerr
, /appdata/autobrr
, /appdata/sabnzbd
, /appdata/pyload/config
, /appdata/filebrowser
, /media/media-for-home/downloads
, and /media/media-for-home/incomplete-downloads
.
Modify the environment variables of each service as needed. Adjust the PUID
, PGID
, TZ
, and other variables based on your requirements.
Update the traefik.toml
file with any necessary configurations for Traefik, and make sure it is placed in /root/traefik.toml
.
In the same directory as the docker-compose.yml
file, execute the following command to start all the defined services in detached mode:
docker-compose up -d
This command will launch all the services as background processes.
Access the various services using the specified URLs:
http://prowlarr.lab
: Prowlarr media management toolhttp://radarr.lab
: Radarr movie management toolhttp://sonarr.lab
: Sonarr TV show management toolhttp://overseerr.lab
: Overseerr media request and management toolhttp://autobrr.lab
: AutoBRR BitTorrent automation toolhttp://sabnzbd.lab
: SABnzbd Usenet clienthttp://pyload.lab
: Pyload-NG download managerhttp://filebrowser.lab
: FileBrowser file managerTo update the containers to their latest versions, execute the following command:
docker-compose up -d --no-deps --build watchtower
Watchtower will then check for and update to newer versions of the containers.
Make sure your serverās firewall and network configurations permit access to the necessary ports from external devices or networks.
Note: The hostname resolutions (prowlarr.lab
, radarr.lab
, sonarr.lab
, overseerr.lab
, autobrr.lab
, sabnzbd.lab
, pyload.lab
, and filebrowser.lab
) assume that your serverās DNS and networking configurations are appropriately set up to resolve these hostnames to the serverās IP address. If needed, update your local DNS resolver or hosts file to ensure proper hostname resolution.