diff --git a/README.md b/README.md index 534f2b1..056ecab 100644 --- a/README.md +++ b/README.md @@ -3,13 +3,14 @@ A collection of Dockerfiles and a docker-compose configuration to set up a seedbox and personal media server. +⚠️ Version 2 is released, please make sure you read [this V2 Migration Guide](doc/UPGRADE_V2.md) as there are breaking changes! + ## Included Applications | Application | Web Interface | Docker image | Version (image tag) | Notes | -----------------------|----------------------------|------------------------------------------------------------------------|-------------------------|---------------------| | Plex | plex.yourdomain.com | [linuxserver/plex](https://hub.docker.com/r/linuxserver/plex) | *latest* | Media Streaming | | Deluge | deluge.yourdomain.com | [linuxserver/deluge](https://hub.docker.com/r/linuxserver/deluge) | *latest* | Torrents downloader | -| Deluge (VPN) | deluge.yourdomain.com | [linuxserver/deluge](https://hub.docker.com/r/linuxserver/deluge) | *latest* | Torrents downloader (behind VPN) | | Flood | flood.yourdomain.com | [jesec/flood](https://hub.docker.com/r/jesec/flood) | *latest* | Web client for Deluge (experimental) | | Sonarr | sonarr.yourdomain.com | [linuxserver/sonarr](https://hub.docker.com/r/linuxserver/sonarr) | *develop* | TV Shows monitor | | Radarr | radarr.yourdomain.com | [linuxserver/radarr](https://hub.docker.com/r/linuxserver/radarr) | *develop* | Movies monitor | @@ -23,7 +24,6 @@ seedbox and personal media server. | Jackett | jackett.yourdomain.com | [linuxserver/jackett](https://hub.docker.com/r/linuxserver/jackett) | *latest* | Tracker indexer | | Prowlarr | prowlarr.yourdomain.com | [linuxserver/prowlarr](https://hub.docker.com/r/linuxserver/prowlarr) | *develop* | Tracker indexer | | JDownloader | jdownloader.yourdomain.com | [jlesage/jdownloader-2](https://hub.docker.com/r/jlesage/jdownloader-2)| *latest* | Direct downloader | -| JDownloader (VPN) | jdownloader.yourdomain.com | [jlesage/jdownloader-2](https://hub.docker.com/r/jlesage/jdownloader-2)| *latest* | Direct downloader (behind VPN) | | Tautulli (plexPy) | tautulli.yourdomain.com | [linuxserver/tautulli](https://hub.docker.com/r/linuxserver/tautulli) | *latest* | Plex stats and admin| | Tdarr | tdarr.yourdomain.com | [haveagitgat/tdarr](https://hub.docker.com/r/haveagitgat/tdarr) | *latest* | Re-encode files | | NextCloud | nextcloud.yourdomain.com | [linuxserver/nextcloud](https://hub.docker.com/r/linuxserver/nextcloud) | *latest* | Files management | @@ -32,9 +32,9 @@ seedbox and personal media server. | Netdata | netdata.yourdomain.com | [netdata/netdata](https://hub.docker.com/r/netdata/netdata) | *latest* | Server monitoring | | Duplicati | duplicati.yourdomain.com | [linuxserver/duplicati](https://hub.docker.com/r/linuxserver/duplicati)| *latest* | Backups | | Heimdall | yourdomain.com | [linuxserver/heimdall](https://hub.docker.com/r/linuxserver/heimdall)| *latest* | Main dashboard | -| Gluetun | - | [qmcgaw/gluetun](https://hub.docker.com/r/qmcgaw/gluetun)| *latest* | VPN client (still WIP...) | +| Gluetun | - | [qmcgaw/gluetun](https://hub.docker.com/r/qmcgaw/gluetun)| *latest* | VPN client | -The front-end reverse proxy (Traefik - **check the next section if you have already the seedbox with Traefik v1**) routes based on the lowest level subdomain +The front-end reverse proxy (Traefik - **check [this guide](doc/traefik_v2.md) 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 @@ -45,38 +45,11 @@ 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. -## September 2020 - Upgrade to Traefik v2 instructions - -Before upgrading Traefik to version 2, please check the following: - -- In this repo, Traefik v2 upgrade is as seamless as possible (same environment variables than before, out-of-the-box config file...). -- **First, ``git pull`` to grab the latest code.** -- The ``HTTP_PASSWORD`` variable now must be simple-quoted in the .env file. See the updated ``.env.sample`` file (which has also been reorganized) -- Run ``init.sh`` in order to create required Docker objects (network name has changed). -- You can update your acme.json to a Traefik v2-compliant one by doing the following (before launching Traefik v2): - -```sh -mkdir -p /tmp/migration -cd /tmp/migration -sudo cp /opt/traefik/acme.json . -sudo chmod 775 /tmp/migration/acme.json -# Do *NOT* forget the --resolver at the end! (le = Let's Encrypt resolver, see traefik/traefik.yml) -docker run --rm -v ${PWD}:/data -w /data containous/traefik-migration-tool acme -i acme.json -o acme2.json --resolver le -mkdir -p /data/config/traefik -sudo cp acme2.json /data/config/traefik/acme.json -sudo chmod 600 /data/config/traefik/acme.json -# When you already have a backup! -sudo rm -rf /opt/traefik /tmp/migration -``` - -- As from Traefik v2, as Http Authentication is now possible on the Traefik console, the latter is enabled at ``traefik.yourdomain.com``. -- After all this, you can simply do: ``./update-all.sh``! Voilà! - ## Dependencies - [Docker](https://github.com/docker/docker) >= 20.10 -- [Docker Compose](https://github.com/docker/compose) >= 1.28.0 -- [local-persist Docker plugin](https://github.com/MatchbookLab/local-persist): installed directly on host (not in container). This is a volume plugin that extends the default local driver’s functionality by allowing you specify a mountpoint anywhere on the host, which enables the files to always persist, even if the volume is removed via `docker volume rm`. Use *systemd* install for Ubuntu 16.04. +- [Docker Compose](https://github.com/docker/compose) >= 2.2 +- [local-persist Docker plugin](https://github.com/MatchbookLab/local-persist): installed directly on host (not in container). This is a volume plugin that extends the default local driver’s functionality by allowing you specify a mountpoint anywhere on the host, which enables the files to always persist, even if the volume is removed via `docker volume rm`. Use *systemd* install for Ubuntu. ## Configuration @@ -91,22 +64,15 @@ sudo su -c "mkdir /data && mkdir /data/config && mkdir /data/torrents" Edit the `.env` file and change the variables as desired. The variables are all self-explanatory. -**NEW** -You can also disable a service if you do not need it by editing the ``services.conf`` file. -Simply change the "*enable*" key with the "*disable*" one for the service you want to disable. -If you remove a line in this file, it will be considered as "enabled" as all services are enabled by default. - ## Running & updating ```sh -./update-all.sh +./run-seedbox.sh ``` -docker-compose should manage all the volumes and network setup for you. If it -does not, verify that your docker and docker-compose version is updated. +docker-compose should manage all the volumes and network setup for you. If it does not, verify that your docker and docker-compose version is updated. -Make sure you install the dependencies and finish configuration before doing -this. +Make sure you install the dependencies and finish configuration before doing this. ## PlexPass diff --git a/UPGRADE_V2.md b/doc/UPGRADE_V2.md similarity index 98% rename from UPGRADE_V2.md rename to doc/UPGRADE_V2.md index f17fba1..0fdeb28 100644 --- a/UPGRADE_V2.md +++ b/doc/UPGRADE_V2.md @@ -28,6 +28,7 @@ Since there are some breaking changes and a configuration structure migration, a * ``Readarr``: [Ebook and comic monitor](https://github.com/Readarr/Readarr) * ``Komga``: [Comic Book Manager](https://github.com/gotson/komga) * ``Kavita``: [Comic / Book Manager](https://github.com/Kareadita/Kavita) +* Docker compose v2.2+ is now required And also: diff --git a/doc/traefik_v2.md b/doc/traefik_v2.md new file mode 100644 index 0000000..a0de210 --- /dev/null +++ b/doc/traefik_v2.md @@ -0,0 +1,26 @@ +# September 2020 - Upgrade to Traefik v2 instructions + +Before upgrading Traefik to version 2, please check the following: + +- In this repo, Traefik v2 upgrade is as seamless as possible (same environment variables than before, out-of-the-box config file...). +- **First, ``git pull`` to grab the latest code.** +- The ``HTTP_PASSWORD`` variable now must be simple-quoted in the .env file. See the updated ``.env.sample`` file (which has also been reorganized) +- Run ``init.sh`` in order to create required Docker objects (network name has changed). +- You can update your acme.json to a Traefik v2-compliant one by doing the following (before launching Traefik v2): + +```sh +mkdir -p /tmp/migration +cd /tmp/migration +sudo cp /opt/traefik/acme.json . +sudo chmod 775 /tmp/migration/acme.json +# Do *NOT* forget the --resolver at the end! (le = Let's Encrypt resolver, see traefik/traefik.yml) +docker run --rm -v ${PWD}:/data -w /data containous/traefik-migration-tool acme -i acme.json -o acme2.json --resolver le +mkdir -p /data/config/traefik +sudo cp acme2.json /data/config/traefik/acme.json +sudo chmod 600 /data/config/traefik/acme.json +# When you already have a backup! +sudo rm -rf /opt/traefik /tmp/migration +``` + +- As from Traefik v2, as Http Authentication is now possible on the Traefik console, the latter is enabled at ``traefik.yourdomain.com``. +- After all this, you can simply do: ``./update-all.sh``! Voilà! diff --git a/old-update-all.sh b/old-update-all.sh deleted file mode 100755 index 519df41..0000000 --- a/old-update-all.sh +++ /dev/null @@ -1,132 +0,0 @@ -#!/bin/bash - -set -e - -SKIP_PULL=0 - -for i in "$@"; do - case $i in - --no-pull) - SKIP_PULL=1 - ;; - *) - echo "[$0] ❌ ERROR: unknown parameter \"$i\"" - exit 1 - ;; - esac -done - -# Create/update http_auth file according to values in .env file -source .env -echo "${HTTP_USER}:${HTTP_PASSWORD}" > traefik/http_auth - -# Docker-compose settings -export COMPOSE_HTTP_TIMEOUT=240 - -# Retro-compatibility -[[ -z $HOST_CONFIG_PATH ]] && export HOST_CONFIG_PATH="/data/config" -[[ -z $HOST_MEDIA_PATH ]] && export HOST_MEDIA_PATH="/data/torrents" -[[ -z $DOWNLOAD_SUBFOLDER ]] && export DOWNLOAD_SUBFOLDER="deluge" - -if [[ ! -f services.conf ]]; then - echo "[$0] No services.conf file found. Copying from sample file..." - cp services.conf.sample services.conf -fi - -# Alert in case new services have been added (or removed) in sample but active file has not changed -NB_SERVICES_ACTIVE=$(cat services.conf | wc -l) -NB_SERVICES_ORIG=$(cat services.conf.sample | wc -l) -if [[ ${NB_SERVICES_ACTIVE} != ${NB_SERVICES_ORIG} ]]; then - echo "[$0] Your services.conf file seems outdated. It appears there are new services available, or services that have been removed." - diff -yt services.conf services.conf.sample || true - echo "" -fi - -# Check if *-vpn services are enabled. If so, check that gluetun is enabled. -if [[ $(cat services.conf | { grep -E ".*vpn: enable" || true; } | wc -l) -ge 1 ]]; then - if [[ $(cat services.conf | { grep "gluetun: enable" || true; } | wc -l) -eq 0 ]]; then - echo "[$0] ERROR. A VPN-enabled service has been enabled BUT gluetun has not been enabled. Please check your services.conf file." - echo "******* Exiting *******" - exit 1 - fi -fi - -# Check if there are no conflict in enabled services (for example, you cannot enable deluge AND deluge-vpn) -for svc in deluge plex jdownloader; do - if [[ $(cat services.conf | { grep -E "${svc}.*: enable" || true; } | wc -l) -gt 1 ]]; then - echo "[$0] ERROR. You cannot enable multiple ${svc^} services simultaneously. Please edit this section in your services.conf file:" - cat services.conf | { grep -E "${svc}.*: enable" || true; } - echo "******* Exiting *******" - exit 1 - fi -done - -# Determine what host Flood should connect to -# => If deluge-vpn is enabled => gluetun -# => If deluge is enabled => deluge -if [[ $(cat services.conf | { grep -E "flood\: enable" || true; } | wc -l) -eq 1 ]]; then - if [[ $(cat services.conf | { grep -E "deluge\-vpn\: enable" || true; } | wc -l) -eq 1 ]]; then - export DELUGE_HOST="gluetun" - elif [[ $(cat services.conf | { grep -E "deluge\: enable" || true; } | wc -l) -eq 1 ]]; then - export DELUGE_HOST="deluge" - fi -fi - -# Apply Traefik dynamic files in traefik conf directory if VPN are enabled for some services -for svc in $(cat services.conf | grep "\-vpn: enable" | sed -E "s/(.*)\: enable/\1/g"); do - if [[ -f samples/traefik-${svc}.yaml ]]; then - echo "[$0] traefik-$svc.yaml file detected in samples/ directory. Applying into Traefik runtime config directory..." - cp samples/traefik-${svc}.yaml traefik/custom/dynamic-${svc}.yaml - else - echo "[$0] No custom traefik file found in samples/directory for app $svc. Skipping..." - fi -done - -# Apply other arbitrary custom Traefik config files -for f in `find samples/custom-traefik -maxdepth 1 -mindepth 1 -type f | grep -E "\.yml$|\.yaml$" | sort`; do - echo "[$0] Applying custom Traefik config $f..." - cp $f traefik/custom/dynamic-$(basename $f) -done - -# Detect Synology devices for Netdata compatibility -if [[ $(cat services.conf | { grep -E "netdata\: enable" || true; } | wc -l) -eq 1 ]]; then - if [[ $(uname -a | { grep synology || true; } | wc -l) -eq 1 ]]; then - export OS_RELEASE_FILEPATH="/etc/VERSION" - else - export OS_RELEASE_FILEPATH="/etc/os-release" - fi -fi - -# Fetch all YAML files -disabled_pattern="" -while read -r line ; do - disabled_pattern="${disabled_pattern} ! -name $line.yaml" -done < <(grep "disable" services.conf | awk -F : '{print $1}' ) - -SERVICES=$(find services -mindepth 1 -maxdepth 1 -name "*.yaml" ${disabled_pattern} | sed -e 's/^/-f /') -ALL_SERVICES="-f docker-compose.yaml $SERVICES" - -# Specific instructions for Flood -# User for Deluge daemon RPC has to be created in deluge auth config file -if [[ ! -z ${FLOOD_PASSWORD} && ${FLOOD_AUTOCREATE_USER_IN_DELUGE_DAEMON} == true ]]; then - if ! grep -q "flood" $HOST_CONFIG_PATH/deluge/auth; then - echo "flood:${FLOOD_PASSWORD}:10" >> $HOST_CONFIG_PATH/deluge/auth - else - echo "[$0] No need to add user/password for flood as it has already been created." - echo "[$0] Consider setting FLOOD_AUTOCREATE_USER_IN_DELUGE_DAEMON variable to false in .env file." - fi -fi - -if [[ "${SKIP_PULL}" != "1" ]]; then - echo "[$0] ***** Pulling all images... *****" - docker-compose ${ALL_SERVICES} pull -fi - -echo "[$0] ***** Recreating containers if required... *****" -docker-compose ${ALL_SERVICES} up -d --remove-orphans -echo "[$0] ***** Done updating containers *****" -echo "[$0] ***** Clean unused images and volumes... *****" -docker image prune -af -docker volume prune -f -echo "[$0] ***** Done! *****" -exit 0 \ No newline at end of file diff --git a/samples/traefik-deluge-vpn.yaml b/samples/traefik-deluge-vpn.yaml deleted file mode 100755 index 01ec4cb..0000000 --- a/samples/traefik-deluge-vpn.yaml +++ /dev/null @@ -1,12 +0,0 @@ -http: - routers: - deluge: - rule: 'Host(`deluge.{{ env "TRAEFIK_DOMAIN" }}`)' - middlewares: - - common-auth@file - service: deluge - services: - deluge: - loadBalancer: - servers: - - url: "http://gluetun:8112" \ No newline at end of file diff --git a/samples/traefik-jdownloader-vpn.yaml b/samples/traefik-jdownloader-vpn.yaml deleted file mode 100755 index 2a01bf8..0000000 --- a/samples/traefik-jdownloader-vpn.yaml +++ /dev/null @@ -1,12 +0,0 @@ -http: - routers: - jdownloader: - rule: 'Host(`jdownloader.{{ env "TRAEFIK_DOMAIN" }}`)' - middlewares: - - common-auth@file - service: deluge - services: - jdownloader: - loadBalancer: - servers: - - url: "http://gluetun:5800" \ No newline at end of file diff --git a/services/bazarr.yaml b/services/bazarr.yaml index 214a913..b543402 100755 --- a/services/bazarr.yaml +++ b/services/bazarr.yaml @@ -10,10 +10,6 @@ services: - PGID=${PGID} - PUID=${PUID} - TZ=${TZ} - labels: - - "traefik.enable=true" - - "traefik.http.routers.bazarr.rule=Host(`bazarr.${TRAEFIK_DOMAIN}`)" - - "traefik.http.routers.bazarr.middlewares=common-auth@file" volumes: configbazarr: diff --git a/services/deluge-vpn.yaml b/services/deluge-vpn.yaml deleted file mode 100755 index 7a2f576..0000000 --- a/services/deluge-vpn.yaml +++ /dev/null @@ -1,21 +0,0 @@ -services: - deluge: - image: ghcr.io/linuxserver/deluge - container_name: deluge - restart: always - network_mode: "service:gluetun" - volumes: - - torrents:/torrents - - configdeluge:/config - - downloads:/downloads - environment: - - PGID=${PGID} - - PUID=${PUID} - - TZ=${TZ} - # Traefik labels are in Gluetun YAML as deluge must be accessed via Gluetun - -volumes: - configdeluge: - driver: local-persist - driver_opts: - mountpoint: $HOST_CONFIG_PATH/deluge \ No newline at end of file diff --git a/services/deluge.yaml b/services/deluge.yaml index 08fa75d..21244aa 100755 --- a/services/deluge.yaml +++ b/services/deluge.yaml @@ -11,10 +11,6 @@ services: - PGID=${PGID} - PUID=${PUID} - TZ=${TZ} - labels: - - "traefik.enable=true" - - "traefik.http.routers.deluge.rule=Host(`deluge.${TRAEFIK_DOMAIN}`)" - - "traefik.http.routers.deluge.middlewares=common-auth@file" volumes: configdeluge: diff --git a/services/duplicati.yaml b/services/duplicati.yaml index c344916..f2c24d3 100755 --- a/services/duplicati.yaml +++ b/services/duplicati.yaml @@ -11,10 +11,6 @@ services: - configduplicati:/config - backups:/backups - config:/source - labels: - - "traefik.enable=true" - - "traefik.http.routers.duplicati.rule=Host(`duplicati.${TRAEFIK_DOMAIN}`)" - - "traefik.http.routers.duplicati.middlewares=common-auth@file" volumes: configduplicati: diff --git a/services/flood.yaml b/services/flood.yaml index dc647ca..aa672c8 100755 --- a/services/flood.yaml +++ b/services/flood.yaml @@ -18,12 +18,6 @@ services: - torrents:/torrents - downloads:/downloads - /etc/localtime:/etc/localtime:ro - labels: - - "traefik.enable=true" - - "traefik.http.routers.flood.rule=Host(`flood.${TRAEFIK_DOMAIN}`)" - - "traefik.http.routers.flood.middlewares=common-auth@file" - - "traefik.http.routers.flood.service=flood-service" - - "traefik.http.services.flood-service.loadbalancer.server.port=3000" volumes: configflood: diff --git a/services/gluetun.yaml b/services/gluetun.yaml index fd4d3cc..ab02491 100755 --- a/services/gluetun.yaml +++ b/services/gluetun.yaml @@ -17,15 +17,6 @@ services: - WIREGUARD_PUBLIC_KEY=${WIREGUARD_PUBLIC_KEY} - WIREGUARD_PRIVATE_KEY=${WIREGUARD_PRIVATE_KEY} - WIREGUARD_ADDRESS=${WIREGUARD_ADDRESS} - #labels: - # Control Panel - # - "traefik.enable=true" - # - "traefik.http.routers.gluetun.rule=Host(`gluetun.${TRAEFIK_DOMAIN}`)" - # - "traefik.http.routers.gluetun.middlewares=common-auth@file" - # - "traefik.http.routers.gluetun.service=gluetun" - # - "traefik.http.services.gluetun.loadbalancer.server.port=8000" - # Traefik rules for VPN-enabled services (which have ot be accessed through gluetun) are defined in the samples/ directory - # and are applied automatically in the update-all.sh script. volumes: configgluetun: diff --git a/services/heimdall.yaml b/services/heimdall.yaml index 166e1b8..b059aba 100644 --- a/services/heimdall.yaml +++ b/services/heimdall.yaml @@ -9,10 +9,6 @@ services: - PGID=${PGID} - PUID=${PUID} - TZ=${TZ} - labels: - - "traefik.enable=true" - - "traefik.http.routers.heimdall.rule=Host(`${TRAEFIK_DOMAIN}`)" - - "traefik.http.routers.heimdall.middlewares=common-auth@file" volumes: configheimdall: diff --git a/services/jackett.yaml b/services/jackett.yaml index ca3b1f8..c6c3f44 100755 --- a/services/jackett.yaml +++ b/services/jackett.yaml @@ -12,7 +12,3 @@ services: - PUID=${PUID} - TZ=${TZ} - RUN_OPTS='-FlareSolverrURL="http://flaresolverr:8191"' - labels: - - "traefik.enable=true" - - "traefik.http.routers.jackett.rule=Host(`jackett.${TRAEFIK_DOMAIN}`)" - - "traefik.http.routers.jackett.middlewares=common-auth@file" diff --git a/services/jdownloader-vpn.yaml b/services/jdownloader-vpn.yaml deleted file mode 100755 index 3eb682e..0000000 --- a/services/jdownloader-vpn.yaml +++ /dev/null @@ -1,20 +0,0 @@ -services: - jdownloader: - image: jlesage/jdownloader-2 - container_name: jdownloader - restart: always - network_mode: "service:gluetun" - volumes: - - configjdownloader:/config - - downloads:/output - environment: - - USER_ID=${PUID} - - GROUP_ID=${PGID} - - TZ=${TZ} - # Traefik routing rules are defined in the samples/ directory and applied automatically when this service is enabled - -volumes: - configjdownloader: - driver: local-persist - driver_opts: - mountpoint: $HOST_CONFIG_PATH/jdownloader \ No newline at end of file diff --git a/services/jdownloader.yaml b/services/jdownloader.yaml index 34f2f02..b9b7dc2 100755 --- a/services/jdownloader.yaml +++ b/services/jdownloader.yaml @@ -10,11 +10,6 @@ services: - USER_ID=${PUID} - GROUP_ID=${PGID} - TZ=${TZ} - labels: - - "traefik.enable=true" - - "traefik.http.services.jdownloader-seedbox.loadbalancer.server.port=5800" - - "traefik.http.routers.jdownloader.rule=Host(`jdownloader.${TRAEFIK_DOMAIN}`)" - - "traefik.http.routers.jdownloader.middlewares=common-auth@file" volumes: configjdownloader: diff --git a/services/kavita.yaml b/services/kavita.yaml index 034b85f..8b12b9e 100755 --- a/services/kavita.yaml +++ b/services/kavita.yaml @@ -11,9 +11,6 @@ services: - TZ=${TZ} # Wait for https://github.com/Kareadita/Kavita/issues/301 to be resolved #user: "${PUID}:${PGID}" - labels: - - "traefik.enable=true" - - "traefik.http.routers.kavita.rule=Host(`kavita.${TRAEFIK_DOMAIN}`)" volumes: configkavita: diff --git a/services/komga.yaml b/services/komga.yaml index d61f597..c4945fa 100755 --- a/services/komga.yaml +++ b/services/komga.yaml @@ -10,9 +10,6 @@ services: environment: - TZ=${TZ} user: "${PUID}:${PGID}" - labels: - - "traefik.enable=true" - - "traefik.http.routers.komga.rule=Host(`komga.${TRAEFIK_DOMAIN}`)" volumes: configkomga: diff --git a/services/lidarr.yaml b/services/lidarr.yaml index 29cc1cf..87242c1 100755 --- a/services/lidarr.yaml +++ b/services/lidarr.yaml @@ -10,10 +10,6 @@ services: - PGID=${PGID} - PUID=${PUID} - TZ=${TZ} - labels: - - "traefik.enable=true" - - "traefik.http.routers.lidarr.rule=Host(`lidarr.${TRAEFIK_DOMAIN}`)" - - "traefik.http.routers.lidarr.middlewares=common-auth@file" volumes: configlidarr: diff --git a/services/netdata.yaml b/services/netdata.yaml index 9f090a2..3d64f3a 100755 --- a/services/netdata.yaml +++ b/services/netdata.yaml @@ -17,7 +17,3 @@ services: - /etc/group:/host/etc/group:ro - ${OS_RELEASE_FILEPATH}:/host/etc/os-release:ro - /var/run/docker.sock:/var/run/docker.sock:ro - labels: - - "traefik.enable=true" - - "traefik.http.routers.netdata.rule=Host(`netdata.${TRAEFIK_DOMAIN}`)" - - "traefik.http.routers.netdata.middlewares=common-auth@file" \ No newline at end of file diff --git a/services/nextcloud.yaml b/services/nextcloud.yaml index 332db77..f45253f 100755 --- a/services/nextcloud.yaml +++ b/services/nextcloud.yaml @@ -32,11 +32,6 @@ services: - nextclouddata:/data - torrents:/torrents - config:/seedbox-config - labels: - - "traefik.enable=true" - - "traefik.http.routers.nextcloud.rule=Host(`nextcloud.${TRAEFIK_DOMAIN}`)" - - "traefik.http.services.nextcloud-seedbox.loadbalancer.server.scheme=https" - - "traefik.http.services.nextcloud-seedbox.loadbalancer.server.port=443" volumes: nextclouddb: diff --git a/services/ombi.yaml b/services/ombi.yaml index e4a47a4..15f9f21 100755 --- a/services/ombi.yaml +++ b/services/ombi.yaml @@ -10,10 +10,6 @@ services: - PUID=${PUID} - TZ=${TZ} - BASE_URL=/ - labels: - - "traefik.enable=true" - - "traefik.http.routers.ombi.rule=Host(`ombi.${TRAEFIK_DOMAIN}`)" - #- "traefik.http.routers.ombi.middlewares=common-auth@file" volumes: configombi: diff --git a/services/overseerr.yaml b/services/overseerr.yaml index 1abbb74..2ed8948 100755 --- a/services/overseerr.yaml +++ b/services/overseerr.yaml @@ -9,9 +9,6 @@ services: - PGID=${PGID} - PUID=${PUID} - TZ=${TZ} - labels: - - "traefik.enable=true" - - "traefik.http.routers.overseerr.rule=Host(`overseerr.${TRAEFIK_DOMAIN}`)" volumes: configoverseerr: diff --git a/services/plex-hardware-transcoding.yaml b/services/plex-hardware-transcoding.yaml index 44c24c5..7d8b671 100755 --- a/services/plex-hardware-transcoding.yaml +++ b/services/plex-hardware-transcoding.yaml @@ -19,10 +19,6 @@ services: - PUID=${PUID} - TZ=${TZ} - VERSION=latest - labels: - - "traefik.enable=true" - - "traefik.http.services.plex-seedbox.loadbalancer.server.port=32400" - - "traefik.http.routers.plex.rule=Host(`plex.${TRAEFIK_DOMAIN}`)" volumes: configplex: diff --git a/services/plex.yaml b/services/plex.yaml index ebe3984..bd66677 100755 --- a/services/plex.yaml +++ b/services/plex.yaml @@ -16,10 +16,6 @@ services: - PUID=${PUID} - TZ=${TZ} - VERSION=latest - labels: - - "traefik.enable=true" - - "traefik.http.services.plex-seedbox.loadbalancer.server.port=32400" - - "traefik.http.routers.plex.rule=Host(`plex.${TRAEFIK_DOMAIN}`)" volumes: configplex: diff --git a/services/portainer.yaml b/services/portainer.yaml index a9da06f..493692c 100755 --- a/services/portainer.yaml +++ b/services/portainer.yaml @@ -5,8 +5,4 @@ services: restart: always volumes: - /var/run/docker.sock:/var/run/docker.sock - command: --admin-password ${PORTAINER_ADMIN_PASSWORD} --host=unix:///var/run/docker.sock - labels: - - "traefik.enable=true" - - "traefik.http.routers.portainer.rule=Host(`portainer.${TRAEFIK_DOMAIN}`)" - - "traefik.http.services.portainer-seedbox.loadbalancer.server.port=9000" \ No newline at end of file + command: --admin-password ${PORTAINER_ADMIN_PASSWORD} --host=unix:///var/run/docker.sock \ No newline at end of file diff --git a/services/prowlarr.yaml b/services/prowlarr.yaml index 0524a56..5ec3dc4 100755 --- a/services/prowlarr.yaml +++ b/services/prowlarr.yaml @@ -9,10 +9,6 @@ services: - PGID=${PGID} - PUID=${PUID} - TZ=${TZ} - labels: - - "traefik.enable=true" - - "traefik.http.routers.prowlarr.rule=Host(`prowlarr.${TRAEFIK_DOMAIN}`)" - - "traefik.http.routers.prowlarr.middlewares=common-auth@file" volumes: configprowlarr: diff --git a/services/radarr.yaml b/services/radarr.yaml index a8d8286..a151a40 100755 --- a/services/radarr.yaml +++ b/services/radarr.yaml @@ -11,10 +11,6 @@ services: - PGID=${PGID} - PUID=${PUID} - TZ=${TZ} - labels: - - "traefik.enable=true" - - "traefik.http.routers.radarr.rule=Host(`radarr.${TRAEFIK_DOMAIN}`)" - - "traefik.http.routers.radarr.middlewares=common-auth@file" volumes: configradarr: diff --git a/services/readarr.yaml b/services/readarr.yaml index f4b8dd0..8461025 100755 --- a/services/readarr.yaml +++ b/services/readarr.yaml @@ -11,10 +11,6 @@ services: - PGID=${PGID} - PUID=${PUID} - TZ=${TZ} - labels: - - "traefik.enable=true" - - "traefik.http.routers.readarr.rule=Host(`readarr.${TRAEFIK_DOMAIN}`)" - - "traefik.http.routers.readarr.middlewares=common-auth@file" volumes: configreadarr: diff --git a/services/sonarr.yaml b/services/sonarr.yaml index 29100a0..1526db6 100755 --- a/services/sonarr.yaml +++ b/services/sonarr.yaml @@ -11,10 +11,6 @@ services: - PGID=${PGID} - PUID=${PUID} - TZ=${TZ} - labels: - - "traefik.enable=true" - - "traefik.http.routers.sonarr.rule=Host(`sonarr.${TRAEFIK_DOMAIN}`)" - - "traefik.http.routers.sonarr.middlewares=common-auth@file" volumes: configsonarr: diff --git a/services/syncthing.yaml b/services/syncthing.yaml index 24d0d17..d69766c 100644 --- a/services/syncthing.yaml +++ b/services/syncthing.yaml @@ -16,12 +16,6 @@ services: - 22000:22000/tcp - 22000:22000/udp - 21027:21027/udp - labels: - - "traefik.enable=true" - - "traefik.http.routers.syncthing.rule=Host(`syncthing.${TRAEFIK_DOMAIN}`)" - - "traefik.http.routers.syncthing.middlewares=common-auth@file" - - "traefik.http.routers.syncthing.service=syncthing" - - "traefik.http.services.syncthing.loadbalancer.server.port=8384" volumes: configsyncthing: diff --git a/services/tautulli.yaml b/services/tautulli.yaml index 438e467..0f02d81 100755 --- a/services/tautulli.yaml +++ b/services/tautulli.yaml @@ -10,9 +10,6 @@ services: - PGID=${PGID} - PUID=${PUID} - TZ=${TZ} - labels: - - "traefik.enable=true" - - "traefik.http.routers.tautulli.rule=Host(`tautulli.${TRAEFIK_DOMAIN}`)" volumes: configtautulli: diff --git a/services/tdarr.yaml b/services/tdarr.yaml index 01e6639..7dd179b 100755 --- a/services/tdarr.yaml +++ b/services/tdarr.yaml @@ -15,11 +15,6 @@ services: - transcodes:/temp - configtdarrv2:/app/server - settingstdarrv2:/app/configs - labels: - - "traefik.enable=true" - - "traefik.http.services.tdarrv2-seedbox.loadbalancer.server.port=8265" - - "traefik.http.routers.tdarrv2.rule=Host(`tdarr.${TRAEFIK_DOMAIN}`)" - - "traefik.http.routers.tdarrv2.middlewares=common-auth@file" tdarr_node: image: haveagitgat/tdarr_node:latest diff --git a/services/traefik.yaml b/services/traefik.yaml index bf97be0..b454ec1 100755 --- a/services/traefik.yaml +++ b/services/traefik.yaml @@ -16,12 +16,6 @@ services: environment: - TRAEFIK_DOMAIN=${TRAEFIK_DOMAIN} - TZ=${TZ} - labels: - - "traefik.enable=true" - # Docker labels for enabling Traefik dashboard - - "traefik.http.routers.traefik.rule=Host(`traefik.${TRAEFIK_DOMAIN}`)" - - "traefik.http.routers.traefik.service=api@internal" - - "traefik.http.routers.traefik.middlewares=common-auth@file" volumes: configtraefik: