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