387 lines
9.7 KiB
YAML
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
|