refactor: update service task loops and Docker network names for consistency; adjust volume paths for Jellyfin service
Some checks failed
Ansible Lint Check / check-ansible (push) Failing after 26s
Nix Format Check / check-format (push) Failing after 1m26s
Python Lint Check / check-python (push) Failing after 21s

This commit is contained in:
2025-07-16 01:44:13 +00:00
parent 1219c54bf4
commit f38c25df9f
6 changed files with 44 additions and 24 deletions

View File

@@ -13,13 +13,9 @@
tags: tags:
- juicefs - juicefs
# Note: Per-service tags should be set in each service's task file (e.g., privatebin.yml).
# The tags here are static and allow selection by service name.
# To target a specific service, use '--tags services,privatebin' so the include is processed and the inner tag matches.
- name: Include service tasks - name: Include service tasks
ansible.builtin.include_tasks: "services/{{ item.name }}/{{ item.name }}.yml" ansible.builtin.include_tasks: "services/{{ item.name }}/{{ item.name }}.yml"
loop: "{{ services }}" loop: "{{ services | selectattr('enabled', 'equalto', true) | selectattr('hosts', 'contains', inventory_hostname) | list if specific_service is not defined else services | selectattr('name', 'equalto', specific_service) | selectattr('enabled', 'equalto', true) | selectattr('hosts', 'contains', inventory_hostname) | list }}"
when: item.enabled|bool and (inventory_hostname in item.hosts)
loop_control: loop_control:
label: "{{ item.name }}" label: "{{ item.name }}"
tags: tags:
@@ -52,7 +48,7 @@
enabled: true enabled: true
hosts: hosts:
- mennos-cloud-server - mennos-cloud-server
# - mennos-server - mennos-server
- name: seafile - name: seafile
enabled: true enabled: true
hosts: hosts:
@@ -76,7 +72,7 @@
- name: downloaders - name: downloaders
enabled: true enabled: true
hosts: hosts:
- mennos-cloud-server - mennos-server
- name: wireguard - name: wireguard
enabled: true enabled: true
hosts: hosts:

View File

@@ -16,7 +16,7 @@ services:
- /mnt/object_storage:/storage - /mnt/object_storage:/storage
restart: "unless-stopped" restart: "unless-stopped"
networks: networks:
- arr-stack-net - arr_stack_net
sonarr: sonarr:
image: linuxserver/sonarr:latest image: linuxserver/sonarr:latest
@@ -34,7 +34,7 @@ services:
- host.docker.internal:host-gateway - host.docker.internal:host-gateway
restart: unless-stopped restart: unless-stopped
networks: networks:
- arr-stack-net - arr_stack_net
lidarr: lidarr:
image: linuxserver/lidarr:latest image: linuxserver/lidarr:latest
@@ -51,7 +51,7 @@ services:
- /mnt/object_storage:/storage - /mnt/object_storage:/storage
restart: unless-stopped restart: unless-stopped
networks: networks:
- arr-stack-net - arr_stack_net
prowlarr: prowlarr:
container_name: prowlarr container_name: prowlarr
@@ -68,7 +68,7 @@ services:
- 9696:9696 - 9696:9696
restart: unless-stopped restart: unless-stopped
networks: networks:
- arr-stack-net - arr_stack_net
flaresolverr: flaresolverr:
image: ghcr.io/flaresolverr/flaresolverr:latest image: ghcr.io/flaresolverr/flaresolverr:latest
@@ -84,7 +84,7 @@ services:
- host.docker.internal:host-gateway - host.docker.internal:host-gateway
restart: unless-stopped restart: unless-stopped
networks: networks:
- arr-stack-net - arr_stack_net
jellyseerr: jellyseerr:
image: fallenbagel/jellyseerr image: fallenbagel/jellyseerr
@@ -101,11 +101,12 @@ services:
- host.docker.internal:host-gateway - host.docker.internal:host-gateway
restart: unless-stopped restart: unless-stopped
networks: networks:
- arr-stack-net - arr_stack_net
- caddy_network - caddy_network
networks: networks:
arr-stack-net: arr_stack_net:
name: arr_stack_net
caddy_network: caddy_network:
external: true external: true
name: caddy_default name: caddy_default

View File

@@ -104,7 +104,7 @@ overseerr.mvl.sh jellyseerr.mvl.sh overseerr.vleeuwen.me jellyseerr.vleeuwen.me
tls {{ caddy_email }} tls {{ caddy_email }}
} }
jellyfin.mvl.sh jellyfin.vleeuwen.me { anime.mvl.sh anime.vleeuwen.me {
import country_block import country_block
reverse_proxy jellyfin:8096 reverse_proxy jellyfin:8096
tls {{ caddy_email }} tls {{ caddy_email }}
@@ -153,4 +153,9 @@ bin.mvl.sh {
reverse_proxy privatebin:8080 reverse_proxy privatebin:8080
tls {{ caddy_email }} tls {{ caddy_email }}
} }
jellyfin.mvl.sh jellyfin.vleeuwen.me {
import country_block
reverse_proxy jellyfin:8096
tls {{ caddy_email }}
}
{% endif %} {% endif %}

View File

@@ -6,7 +6,7 @@ services:
cap_add: cap_add:
- NET_ADMIN - NET_ADMIN
networks: networks:
- arr-stack-net - arr_stack_net
ports: ports:
- 6881:6881 - 6881:6881
- 6881:6881/udp - 6881:6881/udp
@@ -34,6 +34,7 @@ services:
volumes: volumes:
- {{ downloaders_data_dir }}/sabnzbd-config:/config - {{ downloaders_data_dir }}/sabnzbd-config:/config
- {{ object_storage_dir }}:/storage - {{ object_storage_dir }}:/storage
- {{ local_data_dir }}:/local
restart: unless-stopped restart: unless-stopped
network_mode: "service:gluetun" network_mode: "service:gluetun"
depends_on: depends_on:
@@ -42,6 +43,7 @@ services:
qbittorrent: qbittorrent:
image: lscr.io/linuxserver/qbittorrent image: lscr.io/linuxserver/qbittorrent
network_mode: "service:gluetun"
environment: environment:
- PUID=1000 - PUID=1000
- PGID=100 - PGID=100
@@ -50,13 +52,13 @@ services:
volumes: volumes:
- {{ downloaders_data_dir }}/qbit-config:/config - {{ downloaders_data_dir }}/qbit-config:/config
- {{ object_storage_dir }}:/storage - {{ object_storage_dir }}:/storage
restart: always - {{ local_data_dir }}:/local
network_mode: "service:gluetun"
depends_on: depends_on:
gluetun: gluetun:
condition: service_healthy condition: service_healthy
restart: always
networks: networks:
arr-stack-net: arr_stack_net:
external: true external: true
name: arr-stack_arr-stack-net name: arr_stack_net

View File

@@ -4,8 +4,9 @@
- name: Set Downloaders directories - name: Set Downloaders directories
ansible.builtin.set_fact: ansible.builtin.set_fact:
object_storage_dir: "/mnt/object_storage" object_storage_dir: "/mnt/object_storage"
local_data_dir: "/mnt/data"
downloaders_service_dir: "{{ ansible_env.HOME }}/services/downloaders" downloaders_service_dir: "{{ ansible_env.HOME }}/services/downloaders"
downloaders_data_dir: "/mnt/object_storage/services/downloaders" downloaders_data_dir: "/mnt/services/downloaders"
- name: Create Downloaders directory - name: Create Downloaders directory
ansible.builtin.file: ansible.builtin.file:
@@ -13,6 +14,15 @@
state: directory state: directory
mode: "0755" mode: "0755"
- name: Create Downloaders service directory
ansible.builtin.file:
path: "{{ downloaders_service_dir }}"
state: directory
mode: "0755"
owner: "{{ ansible_user }}"
group: "{{ ansible_user }}"
become: true
- name: Deploy Downloaders docker-compose.yml - name: Deploy Downloaders docker-compose.yml
ansible.builtin.template: ansible.builtin.template:
src: docker-compose.yml.j2 src: docker-compose.yml.j2
@@ -20,6 +30,12 @@
mode: "0644" mode: "0644"
register: downloaders_compose register: downloaders_compose
- name: Ensure arr_stack_net Docker network exists
community.docker.docker_network:
name: arr_stack_net
driver: bridge
state: present
- name: Stop Downloaders service - name: Stop Downloaders service
ansible.builtin.command: docker compose -f "{{ downloaders_service_dir }}/docker-compose.yml" down --remove-orphans ansible.builtin.command: docker compose -f "{{ downloaders_service_dir }}/docker-compose.yml" down --remove-orphans
when: downloaders_compose.changed when: downloaders_compose.changed

View File

@@ -9,9 +9,9 @@ services:
- JELLYFIN_PublishedServerUrl=https://jellyfin.mvl.sh - JELLYFIN_PublishedServerUrl=https://jellyfin.mvl.sh
volumes: volumes:
- {{ jellyfin_data_dir }}/jellyfin-config:/config - {{ jellyfin_data_dir }}/jellyfin-config:/config
- {{ '/mnt/movies' if inventory_hostname == 'mennos-server' else '/mnt/object_storage/movies' }}:/movies - {{ '/mnt/data/movies' if inventory_hostname == 'mennos-server' else '/mnt/object_storage/movies' }}:/movies
- {{ '/mnt/tv_shows' if inventory_hostname == 'mennos-server' else '/mnt/object_storage/tvshows' }}:/tvshows - {{ '/mnt/data/tvshows' if inventory_hostname == 'mennos-server' else '/mnt/object_storage/tvshows' }}:/tvshows
- {{ '/mnt/music' if inventory_hostname == 'mennos-server' else '/mnt/object_storage/music' }}:/music - {{ '/mnt/data/music' if inventory_hostname == 'mennos-server' else '/mnt/object_storage/music' }}:/music
ports: ports:
- 8096:8096 - 8096:8096
- 8920:8920 - 8920:8920