refactor: update service task loops and Docker network names for consistency; adjust volume paths for Jellyfin service
This commit is contained in:
@@ -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:
|
||||||
|
@@ -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
|
||||||
|
@@ -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 %}
|
||||||
|
@@ -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
|
||||||
|
@@ -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
|
||||||
|
@@ -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
|
||||||
|
Reference in New Issue
Block a user