Created
March 6, 2021 21:32
-
-
Save doob187/21805dc4150e7d4ee73f8beb180689f7 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
version: '3' | |
services: | |
plex: | |
hostname: 'plex' | |
container_name: 'plex' | |
environment: | |
- 'PGID=1000' | |
- 'PUID=1000' | |
- 'TZ=UTC' | |
- 'UMASK=022' | |
- 'PLEX_CLAIM=$PLEX_CLAIM_ID' | |
- 'VERSION=latest' | |
- 'ADVERTISE_IP=http://SERVERIP_ID:32400,http://plex.example.com:32400' | |
- 'NVIDIA_VISIBLE_DEVICES=all' | |
image: 'ghcr.io/linuxserver/plex' | |
restart: 'unless-stopped' | |
networks: | |
- proxy | |
devices: | |
- '/dev/dri:/dev/dri' | |
security_opt: | |
- 'no-new-privileges:true' | |
extra_hosts: | |
- 'analytics.plex.tv:127.0.0.1' | |
- 'metrics.plex.tv:127.0.0.1' | |
ports: | |
- target: 32400 | |
published: 32400 | |
protocol: tcp | |
mode: host | |
volumes: | |
- '/etc/localtime:/etc/localtime:ro' | |
- '/dev/shm:/ram_transcode:rw' | |
- '/opt/appdata/plex/database:/config:rw' | |
- source: unionfs | |
target: /mnt | |
type: volume | |
labels: | |
- 'traefik.enable=true' | |
- 'traefik.http.routers.plex-rtr.entrypoints=https' | |
- 'traefik.http.routers.plex-rtr.rule=Host(`plex.example.com`)' | |
- 'traefik.http.routers.plex-rtr.tls=true' | |
- 'traefik.http.routers.plex-rtr.tls.certresolver=dns-cloudflare' | |
- 'traefik.http.routers.plex-rtr.middlewares=chain-authelia@file' | |
- 'traefik.http.routers.plex-rtr.service=uploader-svc' | |
- 'traefik.http.services.plex-svc.loadbalancer.server.port=32400' | |
sonarr: | |
hostname: 'sonarr' | |
container_name: 'sonarr' | |
environment: | |
- 'PGID=1000' | |
- 'PUID=1000' | |
- 'TZ=UTC' | |
- 'UMASK=022' | |
image: 'ghcr.io/linuxserver/sonarr:preview' | |
restart: 'unless-stopped' | |
ports: | |
- '127.0.0.1:8989:8989' | |
networks: | |
- proxy | |
security_opt: | |
- 'no-new-privileges:true' | |
volumes: | |
- '/opt/appdata/sonarr:/config:rw' | |
- source: unionfs | |
target: /mnt | |
type: volume | |
labels: | |
- 'traefik.enable=true' | |
- 'traefik.http.routers.sonarr-rtr.entrypoints=https' | |
- 'traefik.http.routers.sonarr-rtr.rule=Host(`sonarr.example.com`)' | |
- 'traefik.http.routers.sonarr-rtr.tls=true' | |
- 'traefik.http.routers.sonarr-rtr.tls.certresolver=dns-cloudflare' | |
- 'traefik.http.routers.sonarr-rtr.middlewares=chain-authelia@file' | |
- 'traefik.http.routers.sonarr-rtr.service=sonarr-svc' | |
- 'traefik.http.services.sonarr-svc.loadbalancer.server.port=8989' | |
sonarr4k: | |
hostname: 'sonarr4k' | |
container_name: 'sonarr4k' | |
environment: | |
- 'PGID=1000' | |
- 'PUID=1000' | |
- 'TZ=UTC' | |
- 'UMASK=022' | |
image: 'ghcr.io/linuxserver/sonarr:preview' | |
restart: 'unless-stopped' | |
ports: | |
- '127.0.0.1:8984:8989' | |
networks: | |
- proxy | |
security_opt: | |
- 'no-new-privileges:true' | |
volumes: | |
- '/opt/appdata/sonarr4k:/config:rw' | |
- source: unionfs | |
target: /mnt | |
type: volume | |
labels: | |
- 'traefik.enable=true' | |
- 'traefik.http.routers.sonarr4k-rtr.entrypoints=https' | |
- 'traefik.http.routers.sonarr4k-rtr.rule=Host(`sonarr4k.example.com`)' | |
- 'traefik.http.routers.sonarr4k-rtr.tls=true' | |
- 'traefik.http.routers.sonarr4k-rtr.tls.certresolver=dns-cloudflare' | |
- 'traefik.http.routers.sonarr4k-rtr.middlewares=chain-authelia@file' | |
- 'traefik.http.routers.sonarr4k-rtr.service=sonarr4k-svc' | |
- 'traefik.http.services.sonarr4k-svc.loadbalancer.server.port=8984' | |
radarr: | |
hostname: 'radarr' | |
container_name: 'radarr' | |
environment: | |
- 'PGID=1000' | |
- 'PUID=1000' | |
- 'TZ=UTC' | |
- 'UMASK=022' | |
image: 'ghcr.io/linuxserver/radarr:nightly' | |
restart: 'unless-stopped' | |
ports: | |
- '127.0.0.1:7878:7878' | |
networks: | |
- proxy | |
security_opt: | |
- 'no-new-privileges:true' | |
volumes: | |
- '/opt/appdata/radarr:/config:rw' | |
- source: unionfs | |
target: /mnt | |
type: volume | |
labels: | |
- 'traefik.enable=true' | |
- 'traefik.http.routers.radarr-rtr.entrypoints=https' | |
- 'traefik.http.routers.radarr-rtr.rule=Host(`radarr.example.com`)' | |
- 'traefik.http.routers.radarr-rtr.tls=true' | |
- 'traefik.http.routers.radarr-rtr.tls.certresolver=dns-cloudflare' | |
- 'traefik.http.routers.radarr-rtr.middlewares=chain-authelia@file' | |
- 'traefik.http.routers.radarr-rtr.service=radarr-svc' | |
- 'traefik.http.services.radarr-svc.loadbalancer.server.port=7878' | |
radarr4k: | |
hostname: 'radarr4k' | |
container_name: 'radarr4k' | |
environment: | |
- 'PGID=1000' | |
- 'PUID=1000' | |
- 'TZ=UTC' | |
- 'UMASK=022' | |
image: 'ghcr.io/linuxserver/radarr:nightly' | |
restart: 'unless-stopped' | |
ports: | |
- '127.0.0.1:7874:7878' | |
networks: | |
- proxy | |
security_opt: | |
- 'no-new-privileges:true' | |
volumes: | |
- '/opt/appdata/radarr4k:/config:rw' | |
- source: unionfs | |
target: /mnt | |
type: volume | |
labels: | |
- 'traefik.enable=true' | |
- 'traefik.http.routers.radarr4k-rtr.entrypoints=https' | |
- 'traefik.http.routers.radarr4k-rtr.rule=Host(`radarr4k.example.com`)' | |
- 'traefik.http.routers.radarr4k-rtr.tls=true' | |
- 'traefik.http.routers.radarr4k-rtr.tls.certresolver=dns-cloudflare' | |
- 'traefik.http.routers.radarr4k-rtr.middlewares=chain-authelia@file' | |
- 'traefik.http.routers.radarr4k-rtr.service=uploader-svc' | |
- 'traefik.http.services.radarr4k-svc.loadbalancer.server.port=7874' | |
traktarr: | |
hostname: 'traktarr' | |
container_name: 'traktarr' | |
environment: | |
- 'PGID=1000' | |
- 'PUID=1000' | |
- 'TZ=UTC' | |
- 'DELAY=2.5' | |
- 'SORT=rating' | |
- 'NOSEARCH=yes' | |
- 'NOTIFICATIONS=yes' | |
- 'BLACKLIST=yes' | |
- 'RUNNOW=yes' | |
- 'SKIPUPDATE=no' | |
- 'APP_BRANCH=master' | |
image: 'ghcr.io/doob187/docker-traktarr:latest' | |
restart: 'unless-stopped' | |
networks: | |
- proxy | |
security_opt: | |
- 'no-new-privileges:true' | |
volumes: | |
- '/opt/appdata/traktarr:/config:rw' | |
traktarr4k: | |
hostname: 'traktarr4k' | |
container_name: 'traktarr4k' | |
environment: | |
- 'PGID=1000' | |
- 'PUID=1000' | |
- 'TZ=UTC' | |
- 'DELAY=2.5' | |
- 'SORT=rating' | |
- 'NOSEARCH=yes' | |
- 'NOTIFICATIONS=yes' | |
- 'BLACKLIST=yes' | |
- 'RUNNOW=yes' | |
- 'SKIPUPDATE=no' | |
- 'APP_BRANCH=master' | |
image: 'ghcr.io/doob187/docker-traktarr:latest' | |
restart: 'unless-stopped' | |
networks: | |
- proxy | |
security_opt: | |
- 'no-new-privileges:true' | |
volumes: | |
- '/opt/appdata/traktarr4k:/config:rw' | |
overseerr: | |
hostname: 'overseerr' | |
container_name: 'overseerr' | |
environment: | |
- 'PGID=1000' | |
- 'PUID=1000' | |
- 'TZ=UTC' | |
- 'LOG_LEVEL=info' | |
image: 'sctx/overseerr:develop' | |
restart: 'unless-stopped' | |
ports: | |
- '127.0.0.1:5055:5055' | |
networks: | |
- proxy | |
security_opt: | |
- 'no-new-privileges:true' | |
volumes: | |
- '/opt/appdata/overseerr:/app/config:rw' | |
labels: | |
- 'traefik.enable=true' | |
- 'traefik.http.routers.overseerr-rtr.entrypoints=https' | |
- 'traefik.http.routers.overseerr-rtr.rule=Host(`overseerr.example.com`)' | |
- 'traefik.http.routers.overseerr-rtr.tls=true' | |
- 'traefik.http.routers.overseerr-rtr.tls.certresolver=dns-cloudflare' | |
- 'traefik.http.routers.overseerr-rtr.middlewares=chain-authelia@file' | |
- 'traefik.http.routers.overseerr-rtr.service=overseerr-svc' | |
- 'traefik.http.services.overseerr-svc.loadbalancer.server.port=5055' | |
autoscan: | |
hostname: 'autoscan' | |
container_name: 'autoscan' | |
environment: | |
- 'PGID=1000' | |
- 'PUID=1000' | |
- 'TZ=UTC' | |
- 'AUTOSCAN_VERBOSITY=1' | |
image: 'cloudb0x/autoscan' | |
restart: 'unless-stopped' | |
ports: | |
- '127.0.0.1:3030:3030' | |
networks: | |
- proxy | |
volumes: | |
- '/opt/appdata/autoscan:/config:rw' | |
- '/opt/appdata/plex:/data/plex:ro' | |
- source: unionfs | |
target: /mnt | |
type: volume | |
- '/etc/locatime:/etc/localtime:ro' | |
labels: | |
- 'traefik.enable=true' | |
- 'traefik.http.routers.autoscan-rtr.entrypoints=https' | |
- 'traefik.http.routers.autoscan-rtr.rule=Host(`autoscan.example.com`)' | |
- 'traefik.http.routers.autoscan-rtr.tls=true' | |
- 'traefik.http.routers.autoscan-rtr.tls.certresolver=dns-cloudflare' | |
- 'traefik.http.routers.autoscan-rtr.middlewares=chain-authelia@file' | |
- 'traefik.http.routers.autoscan-rtr.service=autoscan-svc' | |
- 'traefik.http.services.autoscan-svc.loadbalancer.server.port=3030' | |
vnstat: | |
hostname: 'vnstat' | |
container_name: 'vnstat' | |
environment: | |
- 'PGID=1000' | |
- 'PUID=1000' | |
- 'TZ=UTC' | |
- 'AUTOSCAN_VERBOSITY=1' | |
image: 'ghcr.io/doob187/vnstat:latest' | |
networks: | |
- proxy | |
restart: 'unless-stopped' | |
ports: | |
- '127.0.0.1:8090:80' | |
volumes: | |
- '/usr/bin/vnstat:/usr/bin/vnstat' | |
- '/var/lib/vnstat:/var/lib/vnstat' | |
- '/etc/localtime:/etc/localtime:ro' | |
labels: | |
- 'traefik.enable=true' | |
- 'traefik.http.routers.vnstat-rtr.entrypoints=https' | |
- 'traefik.http.routers.vnstat-rtr.rule=Host(`vnstat.example.com`)' | |
- 'traefik.http.routers.vnstat-rtr.tls=true' | |
- 'traefik.http.routers.vnstat-rtr.tls.certresolver=dns-cloudflare' | |
- 'traefik.http.routers.vnstat-rtr.middlewares=chain-authelia@file' | |
- 'traefik.http.routers.vnstat-rtr.service=vnstat-svc' | |
- 'traefik.http.services.vnstat-svc.loadbalancer.server.port=8090' | |
sabnzbd: | |
hostname: 'sabnzbd' | |
container_name: 'sabnzbd' | |
environment: | |
- 'PGID=1000' | |
- 'PUID=1000' | |
- 'TZ=UTC' | |
- 'UMASK=022' | |
image: 'ghcr.io/linuxserver/sabnzbd' | |
restart: 'unless-stopped' | |
ports: | |
- '127.0.0.1:8010:8080' | |
networks: | |
- proxy | |
security_opt: | |
- 'no-new-privileges:true' | |
volumes: | |
- '/opt/appdata/sabnzbd:/config:rw' | |
- '/mnt/downloads/nzb:/mnt/downloads/nzb:rw' | |
- '/mnt/incomplete/nzb:/mnt/incomplete/nzb:rw' | |
- source: unionfs | |
target: /mnt | |
type: volume | |
labels: | |
- 'traefik.enable=true' | |
- 'traefik.http.routers.sabnzbd-rtr.entrypoints=https' | |
- 'traefik.http.routers.sabnzbd-rtr.rule=Host(`sabnzbd.example.com`)' | |
- 'traefik.http.routers.sabnzbd-rtr.tls=true' | |
- 'traefik.http.routers.sabnzbd-rtr.tls.certresolver=dns-cloudflare' | |
- 'traefik.http.routers.sabnzbd-rtr.middlewares=chain-authelia@file' | |
- 'traefik.http.routers.sabnzbd-rtr.service=uploader-svc' | |
- 'traefik.http.services.sabnzbd-svc.loadbalancer.server.port=8080' | |
qbittorrent: | |
hostname: 'qbittorrent' | |
container_name: 'qbittorrent' | |
environment: | |
- 'PGID=1000' | |
- 'PUID=1000' | |
- 'TZ=UTC' | |
- 'UMASK=022' | |
image: 'ghcr.io/linuxserver/qbittorrent' | |
networks: | |
- proxy | |
restart: 'unless-stopped' | |
security_opt: | |
- 'no-new-privileges:true' | |
ports: | |
- '7889:7889' | |
- '127.0.0.1:8083:8083' | |
volumes: | |
- '/opt/appdata/qbittorrent:/config:rw' | |
- '/mnt/downloads/torrent:/mnt/downloads/torrent:rw' | |
- '/mnt/incomplete/torrent:/mnt/incomplete/torrent:rw' | |
- source: unionfs | |
target: /mnt | |
type: volume | |
labels: | |
- 'traefik.enable=true' | |
- 'traefik.http.routers.qbittorrent-rtr.entrypoints=https' | |
- 'traefik.http.routers.qbittorrent-rtr.rule=Host(`qbittorrent.example.com`)' | |
- 'traefik.http.routers.qbittorrent-rtr.tls=true' | |
- 'traefik.http.routers.qbittorrent-rtr.tls.certresolver=dns-cloudflare' | |
- 'traefik.http.routers.qbittorrent-rtr.middlewares=chain-authelia@file' | |
- 'traefik.http.routers.qbittorrent-rtr.service=qbittorrent-svc' | |
- 'traefik.http.services.qbittorrent-svc.loadbalancer.server.port=8083' | |
backup: | |
hostname: 'backup' | |
container_name: 'backup' | |
environment: | |
- 'PGID=1000' | |
- 'PUID=1000' | |
- 'TZ=UTC' | |
- CRON_TIME=$CRON_TIME | |
- CONTAINER_TIMEZONE=$TZ | |
- 'BACKUP_HOLD=15' | |
- SERVER_ID=$SERVER_ID | |
- 'RSYNC_COMPRESS_LEVEL=2' | |
- 'SET_CONTAINER_TIMEZONE=true' | |
image: 'ghcr.io/doob187/docker-backup:latest' | |
restart: 'unless-stopped' | |
networks: | |
- proxy | |
volumes: | |
- '/opt/appdata/rsync-backup:/config:rw' | |
- '/opt/appdata/:/home' | |
- '/opt/backup:/backup' | |
- '/etc/locatime:/etc/localtime:ro' | |
uploader: | |
cap_add: | |
- 'SYS_ADMIN' | |
container_name: 'uploader' | |
devices: | |
- '/dev/fuse:/dev/fuse' | |
environment: | |
- 'PGID=1000' | |
- 'PUID=1000' | |
- 'TZ=UTC' | |
image: 'ghcr.io/doob187/uploader' | |
restart: 'unless-stopped' | |
ports: | |
- '127.0.0.1:7777:8080' | |
networks: | |
- proxy | |
security_opt: | |
- 'apparmor:unconfined' | |
networks: | |
- proxy | |
volumes: | |
- '/etc/localtime:/etc/localtime:ro' | |
- '/opt/appdata/uploader:/config:rw' | |
- source: unionfs | |
target: /mnt | |
type: volume | |
labels: | |
- 'traefik.enable=true' | |
- 'traefik.http.routers.uploader-rtr.entrypoints=https' | |
- 'traefik.http.routers.uploader-rtr.rule=Host(`uploader.example.com`)' | |
- 'traefik.http.routers.uploader-rtr.tls=true' | |
- 'traefik.http.routers.uploader-rtr.tls.certresolver=dns-cloudflare' | |
- 'traefik.http.routers.uploader-rtr.middlewares=chain-authelia@file' | |
- 'traefik.http.routers.uploader-rtr.service=uploader-svc' | |
- 'traefik.http.services.uploader-svc.loadbalancer.server.port=7777' | |
mount: | |
cap_add: | |
- 'SYS_ADMIN' | |
container_name: 'mount' | |
devices: | |
- '/dev/fuse:/dev/fuse' | |
ports: | |
- target: 7755 | |
published: 8080 | |
protocol: tcp | |
mode: host | |
environment: | |
- 'PGID=1000' | |
- 'PUID=1000' | |
- 'TZ=UTC' | |
image: 'ghcr.io/doob187/mount' | |
restart: 'unless-stopped' | |
security_opt: | |
- 'apparmor=unconfined' | |
volumes: | |
- '/etc/localtime:/etc/localtime:ro' | |
- '/opt/appdata/mount:/config:rw' | |
- '/mnt:/mnt:shared' | |
networks: | |
proxy: | |
driver: bridge | |
external: true | |
volumes: | |
unionfs: | |
driver: local-persist | |
driver_opts: | |
mountpoint: /mnt |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment