From 159187b5635d45f9336426a8454c0634c115bc7a Mon Sep 17 00:00:00 2001 From: Jean Froment Date: Wed, 2 Dec 2020 14:50:11 +0100 Subject: [PATCH] Format docker-compose.yml, use ghcr.io when possible --- docker-compose.yml | 696 ++++++++++++++++++++++----------------------- 1 file changed, 348 insertions(+), 348 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index c43cd92..f53efc4 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,290 +1,290 @@ 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:ro - 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" + 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:ro + 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: 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" + 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: 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}`)" + 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}`)" - jackett: - image: linuxserver/jackett - container_name: jackett - restart: always - volumes: - - config:/config - - torrents:/downloads - - /etc/localtime:/etc/localtime:ro - environment: - - PGID=${PGID} - - PUID=${PUID} - - TZ=${TZ} - labels: - - "traefik.enable=true" - - "traefik.http.routers.jackett.rule=Host(`jackett.${TRAEFIK_DOMAIN}`)" - - "traefik.http.routers.jackett.middlewares=common-auth@file" + 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} + labels: + - "traefik.enable=true" + - "traefik.http.routers.jackett.rule=Host(`jackett.${TRAEFIK_DOMAIN}`)" + - "traefik.http.routers.jackett.middlewares=common-auth@file" - sonarr: - image: 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" + 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: 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" + 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: 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" + 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: 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" + 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: 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}`)" + 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" + 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" + 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" + 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" + 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" + 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 - - /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" + 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 + - /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: 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" + 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: @@ -292,83 +292,83 @@ networks: 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 + 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