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