swarm_stack/plex/plex-automation/docker-compose.yml
2019-06-04 22:58:42 +02:00

387 lines
9.7 KiB
YAML

version: '3'
services:
syncthing:
image: linuxserver/syncthing
environment:
- PUID=1000
- PGID=1000
- UMASK=<022>
ports:
- "22000:22000"
- "21027:21027/udp"
volumes:
- syncthing_conf:/config
- /storage/syncthing:/mnt/storage/syncthing
networks:
- plex
deploy:
mode: replicated
replicas: 1
resources:
limits:
cpus: '1.0'
memory: 1G
reservations:
cpus: '0.1'
memory: 500M
jackett:
image: linuxserver/jackett
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Paris
volumes:
- jackett_conf:/config
networks:
- plex
deploy:
mode: replicated
replicas: 1
resources:
limits:
cpus: '0.5'
memory: 50M
reservations:
cpus: '0.1'
memory: 10M
lidarr:
image: linuxserver/lidarr
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Paris
volumes:
- lidarr_conf:/config
- /storage/plex/Musique:/music
- /storage/syncthing/torrents/musique:/torrents
networks:
- plex
deploy:
mode: replicated
replicas: 1
resources:
limits:
cpus: '0.5'
memory: 3G
reservations:
cpus: '0.1'
memory: 1G
radarr:
image: linuxserver/radarr
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Paris
volumes:
- radarr_conf:/config
- /storage/plex/Video/Movies:/movies
networks:
- plex
deploy:
mode: replicated
replicas: 1
resources:
limits:
cpus: '0.5'
memory: 750M
reservations:
cpus: '0.1'
memory: 250M
labels:
- "traefik.enable=false"
- "traefik.frontend.rule=Host:radarr.media.arnaud-pc.fr"
- "traefik.port=7878"
- "traefik.docker.network=dmz"
- "traefik.backend.loadbalancer.swarm=true"
- "traefik.backend.loadbalancer.method=drr"
sonarr-tv:
image: linuxserver/sonarr:preview
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Paris
volumes:
- sonarr-tv_conf:/config
- /storage/plex/Video/Tv Shows:/tv
- /storage/syncthing/torrents/tv:/torrents
networks:
- plex
deploy:
mode: replicated
replicas: 1
resources:
limits:
cpus: '1.0'
memory: 1G
reservations:
cpus: '0.1'
memory: 500M
sonarr-anime:
image: linuxserver/sonarr:preview
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Paris
volumes:
- sonarr-anime_conf:/config
- /storage/plex/Video/Anime:/anime
- /storage/syncthing/torrents/anime:/torrents
networks:
- plex
deploy:
mode: replicated
replicas: 1
resources:
limits:
cpus: '1.0'
memory: 500M
reservations:
cpus: '0.1'
memory: 250M
gatekeeper_sonarr-anime:
image: keycloak/keycloak-gatekeeper
networks:
- plex
- dmz
command: |
--discovery-url=https://auth.arnaud-pc.fr/auth/realms/cloud
--client-id=sonarr-anime_proxy
--client-secret=secret
--listen=:3000
--redirection-url=https://sonarr-anime.media.arnaud-pc.fr
--enable-refresh-tokens=true
--encryption-key=key
--upstream-url=http://sonarr-anime:8989
--enable-default-deny=true
--resources="uri=/*|roles=sonarr-anime"
deploy:
labels:
- "traefik.enable=true"
- "traefik.frontend.rule=Host:sonarr-anime.media.arnaud-pc.fr"
- "traefik.port=3000"
- "traefik.docker.network=dmz"
- "traefik.backend.loadbalancer.swarm=true"
- "traefik.backend.loadbalancer.method=drr"
gatekeeper_sonarr-tv:
image: keycloak/keycloak-gatekeeper
networks:
- plex
- dmz
command: |
--discovery-url=https://auth.arnaud-pc.fr/auth/realms/cloud
--client-id=sonarr-tv_proxy
--client-secret=secret
--listen=:3000
--redirection-url=https://sonarr-tv.media.arnaud-pc.fr
--enable-refresh-tokens=true
--encryption-key=key
--upstream-url=http://sonarr-tv:8989
--enable-default-deny=true
--resources="uri=/*|roles=sonarr-tv"
--skip-upstream-tls-verify=true
deploy:
labels:
- "traefik.enable=true"
- "traefik.frontend.rule=Host:sonarr-tv.media.arnaud-pc.fr"
- "traefik.port=3000"
- "traefik.docker.network=dmz"
- "traefik.backend.loadbalancer.swarm=true"
- "traefik.backend.loadbalancer.method=drr"
gatekeeper_radarr:
image: keycloak/keycloak-gatekeeper
networks:
- plex
- dmz
command: |
--discovery-url=https://auth.arnaud-pc.fr/auth/realms/cloud
--client-id=radarr_proxy
--client-secret=secret
--listen=:3000
--redirection-url=https://radarr.media.arnaud-pc.fr
--enable-refresh-tokens=true
--encryption-key=key
--upstream-url=http://radarr:7878
--enable-default-deny=true
--resources="uri=/*|roles=radarr"
--skip-upstream-tls-verify=true
deploy:
labels:
- "traefik.enable=true"
- "traefik.frontend.rule=Host:radarr.media.arnaud-pc.fr"
- "traefik.port=3000"
- "traefik.docker.network=dmz"
- "traefik.backend.loadbalancer.swarm=true"
- "traefik.backend.loadbalancer.method=drr"
gatekeeper_lidarr:
image: keycloak/keycloak-gatekeeper
networks:
- plex
- dmz
command: |
--discovery-url=https://auth.arnaud-pc.fr/auth/realms/cloud
--client-id=lidarr_proxy
--client-secret=secret
--listen=:3000
--redirection-url=https://lidarr.media.arnaud-pc.fr
--enable-refresh-tokens=true
--encryption-key=key
--upstream-url=http://lidarr:8686
--enable-default-deny=true
--resources="uri=/*|roles=lidarr"
--skip-upstream-tls-verify=true
deploy:
labels:
- "traefik.enable=true"
- "traefik.frontend.rule=Host:lidarr.media.arnaud-pc.fr"
- "traefik.port=3000"
- "traefik.docker.network=dmz"
- "traefik.backend.loadbalancer.swarm=true"
- "traefik.backend.loadbalancer.method=drr"
gatekeeper_jackett:
image: keycloak/keycloak-gatekeeper
networks:
- plex
- dmz
command: |
--discovery-url=https://auth.arnaud-pc.fr/auth/realms/cloud
--client-id=jackett_proxy
--client-secret=secret
--listen=:3000
--redirection-url=https://jackett.media.arnaud-pc.fr
--enable-refresh-tokens=true
--encryption-key=key
--upstream-url=http://jackett:9117
--enable-default-deny=true
--resources="uri=/*|roles=jackett"
--skip-upstream-tls-verify=true
deploy:
labels:
- "traefik.enable=true"
- "traefik.frontend.rule=Host:jackett.media.arnaud-pc.fr"
- "traefik.port=3000"
- "traefik.docker.network=dmz"
- "traefik.backend.loadbalancer.swarm=true"
- "traefik.backend.loadbalancer.method=drr"
gatekeeper_syncthing:
image: keycloak/keycloak-gatekeeper
networks:
- plex
- dmz
command: |
--discovery-url=https://auth.arnaud-pc.fr/auth/realms/cloud
--client-id=syncthing_proxy
--client-secret=secret
--listen=:3000
--redirection-url=https://syncthing.media.arnaud-pc.fr
--enable-refresh-tokens=true
--encryption-key=key
--upstream-url=http://syncthing:8384
--enable-default-deny=true
--resources="uri=/*|roles=syncthing"
--skip-upstream-tls-verify=true
deploy:
labels:
- "traefik.enable=true"
- "traefik.frontend.rule=Host:syncthing.media.arnaud-pc.fr"
- "traefik.port=3000"
- "traefik.docker.network=dmz"
- "traefik.backend.loadbalancer.swarm=true"
- "traefik.backend.loadbalancer.method=drr"
ombi:
image: linuxserver/ombi
environment:
TZ: Europe/Paris
PGID: 1000
PUID: 1000
volumes:
- ombi_conf:/config
networks:
- dmz
- plex
deploy:
mode: replicated
replicas: 1
resources:
limits:
cpus: '0.5'
memory: 350M
reservations:
cpus: '0.1'
memory: 100M
labels:
- "traefik.frontend.rule=Host:plex.arnaud-pc.fr;PathPrefix:/request"
- "traefik.port=3579"
- "traefik.docker.network=dmz"
- "traefik.passHostHeader=true"
- "traefik.backend.loadbalancer.swarm=true"
- "traefik.backend.loadbalancer.method=drr"
- "traefik.enable=true"
ombi-anime:
image: linuxserver/ombi
environment:
TZ: Europe/Paris
PGID: 1000
PUID: 1000
volumes:
- ombi-anime_conf:/config
networks:
- dmz
- plex
deploy:
mode: replicated
replicas: 1
resources:
limits:
cpus: '0.5'
memory: 350M
reservations:
cpus: '0.1'
memory: 100M
labels:
- "traefik.frontend.rule=Host:plex.arnaud-pc.fr;PathPrefix:/anime-request"
- "traefik.port=3579"
- "traefik.docker.network=dmz"
- "traefik.passHostHeader=true"
- "traefik.backend.loadbalancer.swarm=true"
- "traefik.backend.loadbalancer.method=drr"
- "traefik.enable=true"
networks:
dmz:
external: true
plex:
driver: overlay
volumes:
syncthing_conf:
driver: convoy
jackett_conf:
driver: convoy
lidarr_conf:
driver: convoy
radarr_conf:
driver: convoy
sonarr-tv_conf:
driver: convoy
sonarr-anime_conf:
driver: convoy
ombi_conf:
driver: convoy
ombi-anime_conf:
driver: convoy