Split docker-compose.yml into multiple files in dedicated dir

This commit is contained in:
Jean Froment 2021-01-31 18:09:33 +01:00
parent 9b9a141093
commit 74affa6dae
20 changed files with 423 additions and 390 deletions

6
.gitignore vendored
View File

@ -1,7 +1,7 @@
.DS_Store .DS_Store
/config /config
tunnel-options.sh **/tunnel-options.sh
.env **/.env
traefik/http_auth **/traefik/http_auth
backup/ backup/

26
docker-compose.yaml Normal file
View File

@ -0,0 +1,26 @@
version: "3.8"
#############################################################################
## Services are now located in separate files, in the services directory. ##
#############################################################################
# Common network used by all services
networks:
default:
external:
name: "traefik-network"
# Common volumes used by at least 2 services
volumes:
config:
driver: local-persist
driver_opts:
mountpoint: /data/config
torrents:
driver: local-persist
driver_opts:
mountpoint: /data/torrents
downloads:
driver: local-persist
driver_opts:
mountpoint: /data/torrents/deluge

View File

@ -1,385 +0,0 @@
version: "3.7"
services:
traefik:
image: traefik
container_name: traefik
restart: always
command:
- --certificatesresolvers.le.acme.email=${ACME_MAIL}
- --pilot.token=${PILOT_TOKEN}
ports:
- "80:80"
- "443:443"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./traefik:/etc/traefik:ro
- configtraefik:/config
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"
deluge:
image: ghcr.io/linuxserver/deluge
container_name: deluge
restart: always
volumes:
- torrents:/torrents
- configdeluge:/config
- downloads:/downloads
environment:
- 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"
plex:
image: ghcr.io/linuxserver/plex
container_name: plex
restart: always
ports:
- "32400:32400"
- "32400:32400/udp"
- "32469:32469"
- "32469:32469/udp"
- "5353:5353/udp"
- "1900:1900/udp"
volumes:
- configplex:/config
- torrents:/torrents
environment:
- PGID=${PGID}
- 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}`)"
flaresolverr:
image: ghcr.io/flaresolverr/flaresolverr
container_name: flaresolverr
restart: always
environment:
- CAPTCHA_SOLVER=hcaptcha-solver
jackett:
image: ghcr.io/linuxserver/jackett
container_name: jackett
restart: always
volumes:
- config:/config
- torrents:/downloads
- /etc/localtime:/etc/localtime:ro
environment:
- PGID=${PGID}
- 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"
sonarr:
image: ghcr.io/linuxserver/sonarr:preview
container_name: sonarr
restart: always
volumes:
- configsonarr:/config
- torrents:/torrents
- /etc/localtime:/etc/localtime:ro
environment:
- 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"
radarr:
image: ghcr.io/linuxserver/radarr:develop
container_name: radarr
restart: always
volumes:
- configradarr:/config
- torrents:/torrents
- /etc/localtime:/etc/localtime:ro
environment:
- 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"
bazarr:
image: ghcr.io/linuxserver/bazarr
container_name: bazarr
restart: always
volumes:
- torrents:/torrents
- configbazarr:/config
environment:
- 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"
lidarr:
image: ghcr.io/linuxserver/lidarr:preview
container_name: lidarr
restart: always
volumes:
- configlidarr:/config
- torrents:/torrents
environment:
- 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"
tautulli:
image: ghcr.io/linuxserver/tautulli
container_name: tautulli
restart: always
volumes:
- configtautulli:/config
- config:/logs:ro # Inside of tautulli, bind to logs via "/logs/Plex Media Server/Logs"
environment:
- PGID=${PGID}
- PUID=${PUID}
- TZ=${TZ}
labels:
- "traefik.enable=true"
- "traefik.http.routers.tautulli.rule=Host(`tautulli.${TRAEFIK_DOMAIN}`)"
jdownloader:
image: jlesage/jdownloader-2
container_name: jdownloader
restart: unless-stopped
volumes:
- configjdownloader:/config
- downloads:/output
environment:
- 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"
tdarr:
image: haveagitgat/tdarr
container_name: tdarr
restart: always
environment:
- PUID=${PUID}
- PGID=${PGID}
- TZ=${TZ}
volumes:
- torrents:/home/Tdarr/Media
- configtdarr:/home/Tdarr/Documents/Tdarr
- tdarrdb:/var/lib/mongodb
labels:
- "traefik.enable=true"
- "traefik.http.services.tdarr-seedbox.loadbalancer.server.port=8265"
- "traefik.http.routers.tdarr.rule=Host(`tdarr.${TRAEFIK_DOMAIN}`)"
- "traefik.http.routers.tdarr.middlewares=common-auth@file"
nextcloud-db:
image: mariadb:10
container_name: nextcloud-db
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
restart: always
environment:
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- MYSQL_DATABASE=${MYSQL_DATABASE}
- MYSQL_USER=${MYSQL_USER}
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
- TZ=${TZ}
volumes:
- nextclouddb:/var/lib/mysql
labels:
- "traefik.enable=false"
# See tools/init-setup-nextcloud.sh for first install
nextcloud:
depends_on:
- nextcloud-db
image: linuxserver/nextcloud
container_name: nextcloud
restart: always
environment:
- PGID=${PGID}
- PUID=${PUID}
- TZ=${TZ}
volumes:
- confignextcloud:/config
- 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"
portainer:
image: portainer/portainer-ce
container_name: portainer
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"
netdata:
image: netdata/netdata
restart: always
container_name: netdata
hostname: netdata.${TRAEFIK_DOMAIN}
environment:
PGID: 999
cap_add:
- SYS_PTRACE
security_opt:
- apparmor:unconfined
volumes:
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /etc/passwd:/host/etc/passwd:ro
- /etc/group:/host/etc/group:ro
- /etc/os-release:/host/etc/os-release:ro
- /var/run/docker.sock:/var/run/docker.sock:rw
labels:
- "traefik.enable=true"
- "traefik.http.routers.netdata.rule=Host(`netdata.${TRAEFIK_DOMAIN}`)"
- "traefik.http.routers.netdata.middlewares=common-auth@file"
duplicati:
image: ghcr.io/linuxserver/duplicati
container_name: duplicati
restart: unless-stopped
environment:
- PUID=${PUID}
- PGID=${PGID}
- TZ=${TZ}
volumes:
- configduplicati:/config
- backups:/backups
- alldata:/source
labels:
- "traefik.enable=true"
- "traefik.http.routers.duplicati.rule=Host(`duplicati.${TRAEFIK_DOMAIN}`)"
- "traefik.http.routers.duplicati.middlewares=common-auth@file"
networks:
default:
external:
name: "traefik-network"
volumes:
alldata:
driver: local-persist
driver_opts:
mountpoint: /data
config:
driver: local-persist
driver_opts:
mountpoint: /data/config
configtraefik:
driver: local-persist
driver_opts:
mountpoint: /data/config/traefik
configplex:
driver: local-persist
driver_opts:
mountpoint: /data/config/Plex
configsonarr:
driver: local-persist
driver_opts:
mountpoint: /data/config/sonarr
configradarr:
driver: local-persist
driver_opts:
mountpoint: /data/config/radarr
configbazarr:
driver: local-persist
driver_opts:
mountpoint: /data/config/bazarr
configlidarr:
driver: local-persist
driver_opts:
mountpoint: /data/config/lidarr
configdeluge:
driver: local-persist
driver_opts:
mountpoint: /data/config/deluge
configtautulli:
driver: local-persist
driver_opts:
mountpoint: /data/config/tautulli
configjdownloader:
driver: local-persist
driver_opts:
mountpoint: /data/config/jdownloader
configtdarr:
driver: local-persist
driver_opts:
mountpoint: /data/config/tdarr
tdarrdb:
driver: local-persist
driver_opts:
mountpoint: /data/config/tdarr-db
nextclouddb:
driver: local-persist
driver_opts:
mountpoint: /data/nextcloud-db
confignextcloud:
driver: local-persist
driver_opts:
mountpoint: /data/config/nextcloud
nextclouddata:
driver: local-persist
driver_opts:
mountpoint: /data/config/nextcloud-data
torrents:
driver: local-persist
driver_opts:
mountpoint: /data/torrents
downloads:
driver: local-persist
driver_opts:
mountpoint: /data/torrents/deluge
configduplicati:
driver: local-persist
driver_opts:
mountpoint: /data/config/duplicati
backups:
driver: local-persist
driver_opts:
mountpoint: /data/backups

22
services/bazarr.yaml Normal file
View File

@ -0,0 +1,22 @@
services:
bazarr:
image: ghcr.io/linuxserver/bazarr
container_name: bazarr
restart: always
volumes:
- torrents:/torrents
- configbazarr:/config
environment:
- 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:
driver: local-persist
driver_opts:
mountpoint: /data/config/bazarr

23
services/deluge.yaml Normal file
View File

@ -0,0 +1,23 @@
services:
deluge:
image: ghcr.io/linuxserver/deluge
container_name: deluge
restart: always
volumes:
- torrents:/torrents
- configdeluge:/config
- downloads:/downloads
environment:
- 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:
driver: local-persist
driver_opts:
mountpoint: /data/config/deluge

31
services/duplicati.yaml Normal file
View File

@ -0,0 +1,31 @@
services:
duplicati:
image: ghcr.io/linuxserver/duplicati
container_name: duplicati
restart: unless-stopped
environment:
- PUID=${PUID}
- PGID=${PGID}
- TZ=${TZ}
volumes:
- configduplicati:/config
- backups:/backups
- alldata:/source
labels:
- "traefik.enable=true"
- "traefik.http.routers.duplicati.rule=Host(`duplicati.${TRAEFIK_DOMAIN}`)"
- "traefik.http.routers.duplicati.middlewares=common-auth@file"
volumes:
alldata:
driver: local-persist
driver_opts:
mountpoint: /data
configduplicati:
driver: local-persist
driver_opts:
mountpoint: /data/config/duplicati
backups:
driver: local-persist
driver_opts:
mountpoint: /data/backups

View File

@ -0,0 +1,7 @@
services:
flaresolverr:
image: ghcr.io/flaresolverr/flaresolverr
container_name: flaresolverr
restart: always
environment:
- CAPTCHA_SOLVER=hcaptcha-solver

18
services/jackett.yaml Normal file
View File

@ -0,0 +1,18 @@
services:
jackett:
image: ghcr.io/linuxserver/jackett
container_name: jackett
restart: always
volumes:
- config:/config
- torrents:/downloads
- /etc/localtime:/etc/localtime:ro
environment:
- PGID=${PGID}
- 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"

23
services/jdownloader.yaml Normal file
View File

@ -0,0 +1,23 @@
services:
jdownloader:
image: jlesage/jdownloader-2
container_name: jdownloader
restart: unless-stopped
volumes:
- configjdownloader:/config
- downloads:/output
environment:
- 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:
driver: local-persist
driver_opts:
mountpoint: /data/config/jdownloader

22
services/lidarr.yaml Normal file
View File

@ -0,0 +1,22 @@
services:
lidarr:
image: ghcr.io/linuxserver/lidarr:preview
container_name: lidarr
restart: always
volumes:
- configlidarr:/config
- torrents:/torrents
environment:
- 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:
driver: local-persist
driver_opts:
mountpoint: /data/config/lidarr

23
services/netdata.yaml Normal file
View File

@ -0,0 +1,23 @@
services:
netdata:
image: netdata/netdata
restart: always
container_name: netdata
hostname: netdata.${TRAEFIK_DOMAIN}
environment:
PGID: 999
cap_add:
- SYS_PTRACE
security_opt:
- apparmor:unconfined
volumes:
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /etc/passwd:/host/etc/passwd:ro
- /etc/group:/host/etc/group:ro
- /etc/os-release:/host/etc/os-release:ro
- /var/run/docker.sock:/var/run/docker.sock:rw
labels:
- "traefik.enable=true"
- "traefik.http.routers.netdata.rule=Host(`netdata.${TRAEFIK_DOMAIN}`)"
- "traefik.http.routers.netdata.middlewares=common-auth@file"

52
services/nextcloud.yaml Normal file
View File

@ -0,0 +1,52 @@
services:
nextcloud-db:
image: mariadb:10
container_name: nextcloud-db
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
restart: always
environment:
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- MYSQL_DATABASE=${MYSQL_DATABASE}
- MYSQL_USER=${MYSQL_USER}
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
- TZ=${TZ}
volumes:
- nextclouddb:/var/lib/mysql
labels:
- "traefik.enable=false"
# See tools/init-setup-nextcloud.sh for first install
nextcloud:
depends_on:
- nextcloud-db
image: linuxserver/nextcloud
container_name: nextcloud
restart: always
environment:
- PGID=${PGID}
- PUID=${PUID}
- TZ=${TZ}
volumes:
- confignextcloud:/config
- 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:
driver: local-persist
driver_opts:
mountpoint: /data/nextcloud-db
confignextcloud:
driver: local-persist
driver_opts:
mountpoint: /data/config/nextcloud
nextclouddata:
driver: local-persist
driver_opts:
mountpoint: /data/config/nextcloud-data

30
services/plex.yaml Normal file
View File

@ -0,0 +1,30 @@
services:
plex:
image: ghcr.io/linuxserver/plex
container_name: plex
restart: always
ports:
- "32400:32400"
- "32400:32400/udp"
- "32469:32469"
- "32469:32469/udp"
- "5353:5353/udp"
- "1900:1900/udp"
volumes:
- configplex:/config
- torrents:/torrents
environment:
- PGID=${PGID}
- 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:
driver: local-persist
driver_opts:
mountpoint: /data/config/Plex

12
services/portainer.yaml Normal file
View File

@ -0,0 +1,12 @@
services:
portainer:
image: portainer/portainer-ce
container_name: portainer
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"

23
services/radarr.yaml Normal file
View File

@ -0,0 +1,23 @@
services:
radarr:
image: ghcr.io/linuxserver/radarr:develop
container_name: radarr
restart: always
volumes:
- configradarr:/config
- torrents:/torrents
- /etc/localtime:/etc/localtime:ro
environment:
- 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:
driver: local-persist
driver_opts:
mountpoint: /data/config/radarr

23
services/sonarr.yaml Normal file
View File

@ -0,0 +1,23 @@
services:
sonarr:
image: ghcr.io/linuxserver/sonarr:preview
container_name: sonarr
restart: always
volumes:
- configsonarr:/config
- torrents:/torrents
- /etc/localtime:/etc/localtime:ro
environment:
- 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:
driver: local-persist
driver_opts:
mountpoint: /data/config/sonarr

21
services/tautulli.yaml Normal file
View File

@ -0,0 +1,21 @@
services:
tautulli:
image: ghcr.io/linuxserver/tautulli
container_name: tautulli
restart: always
volumes:
- configtautulli:/config
- config:/logs:ro # Inside of tautulli, bind to logs via "/logs/Plex Media Server/Logs"
environment:
- PGID=${PGID}
- PUID=${PUID}
- TZ=${TZ}
labels:
- "traefik.enable=true"
- "traefik.http.routers.tautulli.rule=Host(`tautulli.${TRAEFIK_DOMAIN}`)"
volumes:
configtautulli:
driver: local-persist
driver_opts:
mountpoint: /data/config/tautulli

28
services/tdarr.yaml Normal file
View File

@ -0,0 +1,28 @@
services:
tdarr:
image: haveagitgat/tdarr:1.3003
container_name: tdarr
restart: always
environment:
- PUID=${PUID}
- PGID=${PGID}
- TZ=${TZ}
volumes:
- torrents:/home/Tdarr/Media
- configtdarr:/home/Tdarr/Documents/Tdarr
- tdarrdb:/var/lib/mongodb
labels:
- "traefik.enable=true"
- "traefik.http.services.tdarr-seedbox.loadbalancer.server.port=8265"
- "traefik.http.routers.tdarr.rule=Host(`tdarr.${TRAEFIK_DOMAIN}`)"
- "traefik.http.routers.tdarr.middlewares=common-auth@file"
volumes:
configtdarr:
driver: local-persist
driver_opts:
mountpoint: /data/config/tdarr
tdarrdb:
driver: local-persist
driver_opts:
mountpoint: /data/config/tdarr-db

30
services/traefik.yaml Normal file
View File

@ -0,0 +1,30 @@
services:
traefik:
image: traefik
container_name: traefik
restart: always
command:
- --certificatesresolvers.le.acme.email=${ACME_MAIL}
- --pilot.token=${PILOT_TOKEN}
ports:
- "80:80"
- "443:443"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./traefik:/etc/traefik:ro
- configtraefik:/config
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:
driver: local-persist
driver_opts:
mountpoint: /data/config/traefik

View File

@ -4,10 +4,14 @@
source .env source .env
echo "${HTTP_USER}:${HTTP_PASSWORD}" > traefik/http_auth echo "${HTTP_USER}:${HTTP_PASSWORD}" > traefik/http_auth
# Fetch all YAML files
SERVICES=$(find services2 -name "*.yaml" -mindepth 1 -maxdepth 1 | sed -e 's/^/-f /')
ALL_SERVICES="-f docker-compose.yaml $SERVICES"
echo "[$0] ***** Pulling all images... *****" echo "[$0] ***** Pulling all images... *****"
docker-compose pull docker-compose ${ALL_SERVICES} pull
echo "[$0] ***** Recreating containers if required... *****" echo "[$0] ***** Recreating containers if required... *****"
docker-compose up -d --remove-orphans docker-compose ${ALL_SERVICES} up -d --remove-orphans
echo "[$0] ***** Done updating containers *****" echo "[$0] ***** Done updating containers *****"
echo "[$0] ***** Clean unused images... *****" echo "[$0] ***** Clean unused images... *****"
docker image prune -af docker image prune -af