Format docker-compose.yml, use ghcr.io when possible

This commit is contained in:
Jean Froment 2020-12-02 14:50:11 +01:00
parent 4d294aae51
commit 159187b563
1 changed files with 348 additions and 348 deletions

View File

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