- Plex
- Sonarr
- Radarr
- Bazarr
- Prowlarr
- SABnzbd
- Deluge (built-in dark mode)
- Calibre Web
- Portainer 2.0
- Watchtower
- Organizr
- Copy
.env.template
cp .env.template .env
- Replace variables on
.env
with whatever makes sense to you (follow the comments above each property). - It might be a good idea to clone this repo inside the external disk if you plan to use it on different machines/architectures.
# Main stack + Unprotected Torrenting
docker-compose -f docker-compose.yml -f docker-compose.torrents.yml up -d
# Main stack + VPN Protected Torrenting
docker-compose -f docker-compose.yml -f docker-compose.torrents-on-vpn.yml up -d
# Main stack + VPN Protected Torrenting + Plex HW Transcoding
docker-compose -f docker-compose.yml -f docker-compose.torrents-on-vpn.yml -f docker-compose.plex-hw.yml up -d
# Main stack + VPN Protected Torrenting + Plex HW Transcoding + Custom domain & SSL certificates
docker-compose -f docker-compose.yml -f docker-compose.torrents-on-vpn.yml -f docker-compose.plex-hw.yml -f docker-compose.traefik.yml up -d
# Main stack + VPN Protected Torrenting + Plex HW Transcoding + Custom domain & SSL certificates + Calibre Web
docker-compose -f docker-compose.yml -f docker-compose.torrents-on-vpn.yml -f docker-compose.plex-hw.yml -f docker-compose.traefik.yml -f docker-compose.books.yml up -d
Use docker-compose down
adding -f
flag with the same compose files you used for starting the stack.
Watchtower automatically updates all apps (if docker image update is available) at 4 AM every day.
In case you own a domain like example.com
and you'd like to configure subdomains pointing to your apps like sonarr.example.com
or plex.example.com
, do the following:
- Modify
.env
:
DOMAIN=example.com
[email protected]
- Forward ports 80 and 443 to your mediabox (you can do that changing your router settings).
- Include
docker-compose.traefik.yml
when starting the stack - Check the logs to verify everything is up and running:
docker logs -f traefik
With OpenVPN you can use any VPN provider following these steps:
- Download your VPN OpenVPN config files (e.g: NordVPN TCP/UDP config files)
- Download your VPN CA file (e.g: NordVPN CA & TLS key files)
- Run the following (using NordVPN Brazil#65 as example)
# Copy required files
cp ~/Downloads/br65.nordvpn.com.udp.ovpn ${OPENVPN}/vpn.conf
cp ~/Downloads/br65_nordvpn_com_ca.crt ${OPENVPN}/vpn-ca.crt
# Write credentials
cat <<EOT >> ${OPENVPN}/vpn.auth
[email protected]
YourVPNP4ssw0rD
EOT
If you have a custom DNS server (like Pi-hole) you might want to add these to your /etc/hosts
file:
See more @ https://forums.plex.tv/t/cannot-access-plex-tv-only-on-specific-pc/668567/25
99.81.153.144 my.plexapp.com 3 # added by VPN ByPASS
99.81.164.127 SAME AS ABOVE
108.128.10.254 SAME AS ABOVE
104.20.12.29 plexapp.com 1
104.20.13.29 plexapp.com 1
99.80.231.223 plex.tv
99.81.213.165 plex.tv
99.80.242.242 plex.tv
45.33.73.250 pubsub.plex.tv
172.104.211.98 pubsub.plex.tv
This setup follows best practices mentioned on this article, therefore you'll have to map Sonarr/Radarr volumes to Deluge's/SABnzbd's to be able to use hardlinks and/or perform atomic "move" operations instead of "copy+delete" (which takes longer and requires more space).
# My disks layout:
#
# data
# βββ 2tb
# βΒ Β βββ media
# βΒ Β βββ movies
# βΒ Β βββ tv
# βββ 4tb
# βΒ Β βββ media
# βΒ Β βββ movies
# βΒ Β βββ tv
# βββ ssd
# βββ mediabox
# βββ containers
# βββ downloads
# βββ repo