commit
						489157263e
					
				|  | @ -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/ | ||||||
|  |  | ||||||
							
								
								
									
										13
									
								
								README.md
								
								
								
								
							
							
						
						
									
										13
									
								
								README.md
								
								
								
								
							|  | @ -63,11 +63,9 @@ sudo rm -rf /opt/traefik /tmp/migration | ||||||
| 
 | 
 | ||||||
| ## Dependencies | ## Dependencies | ||||||
| 
 | 
 | ||||||
| - [Docker](https://github.com/docker/docker) >= 1.13.0 | - [Docker](https://github.com/docker/docker) >= 20.10 | ||||||
|     + Install guidelines for Ubuntu 16.04: https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-16-04 | - [Docker Compose](https://github.com/docker/compose) >= 1.28.0 | ||||||
| - [Docker Compose](https://github.com/docker/compose) >=v1.10.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. | ||||||
|     + Install guidelines for Ubuntu 16.04: https://www.digitalocean.com/community/tutorials/how-to-install-docker-compose-on-ubuntu-16-04 |  | ||||||
| - [local-persist Docker plugin](https://github.com/CWSpear/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. |  | ||||||
| 
 | 
 | ||||||
| ## Configuration | ## Configuration | ||||||
| 
 | 
 | ||||||
|  | @ -81,6 +79,11 @@ sudo su -c "mkdir /data && mkdir /data/config && mkdir /data/torrents" | ||||||
| Edit the `.env` file and change the variables as desired. | Edit the `.env` file and change the variables as desired. | ||||||
| The variables are all self-explanatory. | 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 | ## Running & updating | ||||||
| 
 | 
 | ||||||
| ```sh | ```sh | ||||||
|  |  | ||||||
|  | @ -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 | ||||||
|  | @ -0,0 +1,15 @@ | ||||||
|  | deluge: enable | ||||||
|  | plex: enable | ||||||
|  | flaresolverr: enable | ||||||
|  | jackett: enable | ||||||
|  | sonarr: enable | ||||||
|  | radarr: enable | ||||||
|  | bazarr: enable | ||||||
|  | lidarr: enable | ||||||
|  | tautulli: enable | ||||||
|  | jdownloader: enable | ||||||
|  | tdarr: enable | ||||||
|  | nextcloud: enable | ||||||
|  | portainer: enable | ||||||
|  | netdata: enable | ||||||
|  | duplicati: enable | ||||||
|  | @ -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 | ||||||
|  | @ -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 | ||||||
|  | @ -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 | ||||||
|  | @ -0,0 +1,7 @@ | ||||||
|  | services: | ||||||
|  |   flaresolverr: | ||||||
|  |     image: ghcr.io/flaresolverr/flaresolverr | ||||||
|  |     container_name: flaresolverr | ||||||
|  |     restart: always | ||||||
|  |     environment: | ||||||
|  |       - CAPTCHA_SOLVER=hcaptcha-solver | ||||||
|  | @ -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" | ||||||
|  | @ -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 | ||||||
|  | @ -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 | ||||||
|  | @ -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" | ||||||
|  | @ -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 | ||||||
|  | @ -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 | ||||||
|  | @ -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" | ||||||
|  | @ -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 | ||||||
|  | @ -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 | ||||||
|  | @ -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 | ||||||
|  | @ -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 | ||||||
|  | @ -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 | ||||||
|  | @ -4,12 +4,25 @@ | ||||||
| source .env | source .env | ||||||
| echo "${HTTP_USER}:${HTTP_PASSWORD}" > traefik/http_auth | echo "${HTTP_USER}:${HTTP_PASSWORD}" > traefik/http_auth | ||||||
| 
 | 
 | ||||||
|  | # Docker-compose settings | ||||||
|  | COMPOSE_HTTP_TIMEOUT=240 | ||||||
|  | 
 | ||||||
|  | # 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" | ||||||
|  | 
 | ||||||
| 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 and volumes... *****" | ||||||
| docker image prune -af | docker image prune -af | ||||||
|  | docker volume prune  -f | ||||||
| echo "[$0] ***** Done! *****" | echo "[$0] ***** Done! *****" | ||||||
| exit 0 | exit 0 | ||||||
		Loading…
	
		Reference in New Issue