From d0430f6c29274c7bac6bcbd12057039ec72e7480 Mon Sep 17 00:00:00 2001 From: jaydee Date: Tue, 2 Dec 2025 00:06:51 +0100 Subject: [PATCH] build --- __swarm/mediacenter/mediacenter-swarm.yml | 401 ++++++++++++++++++++++ 1 file changed, 401 insertions(+) create mode 100644 __swarm/mediacenter/mediacenter-swarm.yml diff --git a/__swarm/mediacenter/mediacenter-swarm.yml b/__swarm/mediacenter/mediacenter-swarm.yml new file mode 100644 index 0000000..d9d3088 --- /dev/null +++ b/__swarm/mediacenter/mediacenter-swarm.yml @@ -0,0 +1,401 @@ +networks: + duplicati: + driver: bridge + mediarr: + driver: bridge +services: + bazarr: + environment: + PUID: '1000' + PGID: '1000' + TZ: Europe/Bratislava + hostname: bazarr + image: ${DOCKER_REGISTRY:-}lscr.io/linuxserver/bazarr:latest + networks: + - mediarr + ports: + - target: 6767 + published: 6767 + protocol: tcp + mode: ingress + volumes: + - bazarr_config:/config + - /media/m-server/movies:/movies/m-server + - /media/m-server/shows:/tv/m-server + - /media/nas/movies:/movies/nas + - /media/nas/shows:/tv/nas + deploy: + labels: + com.centurylinklabs.watchtower.enable: 'true' + homepage.container: bazarr + homepage.description: Subtitles + homepage.group: Media + homepage.href: https://bazarr.sectorq.eu + homepage.icon: bazarr.png + homepage.name: bazarr + homepage.server: my-docker-swarm + homepage.weight: '90' + homepage.widget.key: ${BAZARR_TOKEN} + homepage.widget.type: bazarr + homepage.widget.url: https://bazarr.sectorq.eu + wud.watch: 'true' + wud.watch.digest: 'true' + replicas: 1 + placement: + constraints: + - node.role == manager + flaresolverr: + environment: + LOG_LEVEL: info + TZ: Europe/Bratislava + hostname: flaresolverr + image: ${DOCKER_REGISTRY:-}ghcr.io/flaresolverr/flaresolverr:latest + networks: + - mediarr + ports: + - target: 8191 + published: 8191 + protocol: tcp + mode: ingress + deploy: + labels: + com.centurylinklabs.watchtower.enable: 'true' + wud.watch: 'true' + wud.watch.digest: 'true' + replicas: 1 + placement: + constraints: + - node.role == manager + homarr: + hostname: homarr + image: ${DOCKER_REGISTRY:-}ghcr.io/ajnart/homarr:latest + networks: + - mediarr + ports: + - target: 7575 + published: 7575 + protocol: tcp + mode: ingress + volumes: + - /var/run/docker.sock:/var/run/docker.sock + - homarr_configs:/app/data/configs + - homarr_icons:/app/public/icons + - homarr_data:/data + deploy: + labels: + com.centurylinklabs.watchtower.enable: 'true' + wud.watch: 'true' + wud.watch.digest: 'true' + replicas: 1 + placement: + constraints: + - node.role == manager + jackett: + dns: + - 192.168.77.101 + environment: + PUID: '1000' + PGID: '1000' + TZ: Europe/Bratislava + AUTO_UPDATE: 'true' + RUN_OPTS: '' + hostname: jackett + image: ${DOCKER_REGISTRY:-}lscr.io/linuxserver/jackett:latest + networks: + - mediarr + ports: + - target: 9117 + published: 9117 + protocol: tcp + mode: ingress + volumes: + - jackett_config:/config + - jackett_downloads:/downloads + deploy: + labels: + com.centurylinklabs.watchtower.enable: 'true' + homepage.container: jackett + homepage.description: Subtitles + homepage.group: Media + homepage.href: https://jackett.sectorq.eu + homepage.icon: jackett.png + homepage.name: Jackett + homepage.server: my-docker-swarm + homepage.weight: '80' + homepage.widget.password: ${JACKET_TOKEN} + homepage.widget.type: jackett + homepage.widget.url: https://jackett.sectorq.eu + wud.watch: 'true' + wud.watch.digest: 'true' + replicas: 1 + placement: + constraints: + - node.role == manager + jellyfin: + environment: + PUID: '1000' + PGID: '1000' + TZ: Europe/Bratislava + JELLYFIN_PublishedServerUrl: https://jf.sectorq.eu + extends: + file: hwaccel.yml + service: ${HW_MODE:-cpu} + hostname: jellyfin + image: ${DOCKER_REGISTRY:-}lscr.io/linuxserver/jellyfin:latest + network_mode: host + ports: + - target: 8096 + published: 8096 + protocol: tcp + mode: ingress + - target: 8920 + published: 8920 + protocol: tcp + mode: ingress + - target: 7359 + published: 7359 + protocol: tcp + mode: ingress + volumes: + - jellyfin_config:/config + - /media/m-server/movies:/data/movies/m-server + - /media/m-server/music:/data/music/m-server + - /media/m-server/shows:/data/shows/m-server + - /media/nas/movies:/data/movies/nas + - /media/nas/music:/data/music/nas + - /media/nas/shows:/data/shows/nas + - /media/nas/xxx:/data/xxx/nas + deploy: + labels: + com.centurylinklabs.watchtower.enable: 'true' + homepage.container: jellyfin + homepage.description: Subtitles + homepage.group: Media + homepage.href: https://jf.sectorq.eu + homepage.icon: jellyfin.png + homepage.name: Jellyfin + homepage.server: my-docker-swarm + homepage.weight: '10' + homepage.widget.key: ${JELLYFIN_TOKEN} + homepage.widget.type: jellyfin + homepage.widget.url: https://jf.sectorq.eu + wud.watch: 'true' + wud.watch.digest: 'true' + replicas: 1 + placement: + constraints: + - node.role == manager + jellyseerr: + environment: + LOG_LEVEL: debug + TZ: Europe/Bratislava + hostname: jellyseerr + image: ${DOCKER_REGISTRY:-}fallenbagel/jellyseerr:latest + networks: + - mediarr + ports: + - target: 5055 + published: 5055 + protocol: tcp + mode: ingress + volumes: + - jellyseerr_config:/app/config + deploy: + labels: + com.centurylinklabs.watchtower.enabl: 'true' + homepage.container: jellyseerr + homepage.description: Subtitles + homepage.group: Media + homepage.href: https://js.sectorq.eu + homepage.icon: jellyseerr.png + homepage.name: Jellyseerr + homepage.server: my-docker-swarm + homepage.weight: '20' + homepage.widget.key: ${JELLYSEER_TOKEN} + homepage.widget.type: jellyseerr + homepage.widget.url: https://js.sectorq.eu + wud.watch: 'true' + wud.watch.digest: 'true' + replicas: 1 + placement: + constraints: + - node.role == manager + lidarr: + environment: + PUID: '1000' + PGID: '1000' + TZ: Europe/Bratislava + hostname: lidarr + image: ${DOCKER_REGISTRY:-}lscr.io/linuxserver/lidarr:latest + networks: + - mediarr + ports: + - target: 8686 + published: 8686 + protocol: tcp + mode: ingress + volumes: + - lidarr_config:/config + - /media/m-server/music:/music + - /media/m-server/downloads:/downloads + deploy: + labels: + com.centurylinklabs.watchtower.enable: 'true' + homepage.container: lidarr + homepage.description: Subtitles + homepage.group: Media + homepage.href: https://lidarr.sectorq.eu + homepage.icon: lidarr.png + homepage.name: Lidarr + homepage.server: my-docker-swarm + homepage.weight: '60' + homepage.widget.key: ${LIDARR_TOKEN} + homepage.widget.type: lidarr + homepage.widget.url: https://lidarr.sectorq.eu + wud.watch: 'true' + wud.watch.digest: 'true' + replicas: 1 + placement: + constraints: + - node.role == manager + qbittorrent: + environment: + PUID: '1000' + PGID: '1000' + TZ: Europe/Bratislava + WEBUI_PORT: '8085' + FILE__PASSWORD: /run/secrets/mysecretpassword + hostname: qbittorrent + image: ${DOCKER_REGISTRY:-}lscr.io/linuxserver/qbittorrent:latest + networks: + - mediarr + ports: + - target: 8085 + published: 8085 + protocol: tcp + mode: ingress + - target: 6881 + published: 6881 + protocol: tcp + mode: ingress + volumes: + - qbittorrent_config:/config + - /media/m-server/downloads:/downloads + deploy: + labels: + com.centurylinklabs.watchtower.enable: 'true' + homepage.container: qbittorrent + homepage.description: Subtitles + homepage.group: Utilities + homepage.href: https://qbit.sectorq.eu + homepage.icon: qbittorrent.png + homepage.name: Qbittorrent + homepage.server: my-docker-swarm + homepage.weight: '95' + homepage.widget.enableLeechProgress: 'true' + homepage.widget.password: ${QBIT_TOKEN} + homepage.widget.type: qbittorrent + homepage.widget.url: https://qbit.sectorq.eu + homepage.widget.username: admin + wud.watch: 'true' + wud.watch.digest: 'true' + replicas: 1 + placement: + constraints: + - node.role == manager + radarr: + dns: + - 192.168.77.101 + environment: + PUID: '1000' + PGID: '1000' + TZ: Europe/Bratislava + hostname: radarr + image: ${DOCKER_REGISTRY:-}lscr.io/linuxserver/radarr:latest + networks: + - mediarr + ports: + - target: 7878 + published: 7878 + protocol: tcp + mode: ingress + volumes: + - radarr_config:/config + - /media/m-server/movies/:/movies-m-server + - /media/nas/movies/:/movies-nas + - /media/m-server/downloads:/downloads + deploy: + labels: + com.centurylinklabs.watchtower.enable: 'true' + homepage.container: radarr + homepage.description: Subtitles + homepage.group: Media + homepage.href: https://radarr.sectorq.eu + homepage.icon: radarr.png + homepage.name: Radarr + homepage.server: my-docker-swarm + homepage.weight: '20' + homepage.widget.key: ${RADARR_TOKEN} + homepage.widget.type: radarr + homepage.widget.url: https://radarr.sectorq.eu + wud.display.icon: mdi:radarr + wud.watch: 'true' + wud.watch.digest: 'true' + replicas: 1 + placement: + constraints: + - node.role == manager + sonarr: + dns: + - 192.168.77.101 + environment: + PUID: '1000' + PGID: '1000' + TZ: Europe/Bratislava + hostname: sonarr + image: ${DOCKER_REGISTRY:-}lscr.io/linuxserver/sonarr:latest + networks: + - mediarr + ports: + - target: 8989 + published: 8989 + protocol: tcp + mode: ingress + volumes: + - sonarr_config:/config + - /media/m-server/shows:/tv-m-server + - /media/nas/shows:/tv-nas + - /media/m-server/downloads:/downloads + deploy: + labels: + com.centurylinklabs.watchtower.enable: 'true' + homepage.container: sonarr + homepage.description: Subtitles + homepage.group: Media + homepage.href: https://sonarr.sectorq.eu + homepage.icon: sonarr.png + homepage.name: Sonarr + homepage.server: my-docker-swarm + homepage.weight: '30' + homepage.widget.key: ${SONARR_TOKEN} + homepage.widget.type: sonarr + homepage.widget.url: https://sonarr.sectorq.eu + wud.watch: 'true' + wud.watch.digest: 'true' + replicas: 1 + placement: + constraints: + - node.role == manager +volumes: + bazarr_config: + homarr_configs: + homarr_icons: + homarr_data: + jackett_config: + jackett_downloads: + jellyfin_config: + jellyseerr_config: + lidarr_config: + qbittorrent_config: + radarr_config: + sonarr_config: \ No newline at end of file