refactor: reorganize docker role into logical service groups
Break down the monolithic main.yml (176 lines) into organized service categories: - infrastructure/ (caddy, authentik, dockge) - Core platform components - development/ (gitea, codeserver, conduit) - Development tools - media/ (audiobookshelf, calibre, ghost, pinchflat, etc.) - Content services - productivity/ (paperless, baikal, syncthing, mmdl, etc.) - Personal organization - monitoring/ (glance, changedetection, appriseapi) - System monitoring - communication/ (gotosocial, postiz) - Social/messaging services Benefits: - Improved maintainability with logical grouping - Better dependency management between service categories - Enhanced tag-based deployment (can deploy by category) - Cleaner organization for 25+ services All individual service tags remain functional for backwards compatibility. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
19
roles/docker/tasks/productivity/baikal.yml
Normal file
19
roles/docker/tasks/productivity/baikal.yml
Normal file
@ -0,0 +1,19 @@
|
||||
- name: make baikal directories
|
||||
ansible.builtin.file:
|
||||
path: "{{ item}}"
|
||||
state: directory
|
||||
loop:
|
||||
- /opt/stacks/baikal
|
||||
|
||||
- name: Template out the compose file
|
||||
ansible.builtin.template:
|
||||
src: baikal-compose.yml.j2
|
||||
dest: /opt/stacks/baikal/compose.yml
|
||||
owner: root
|
||||
mode: 644
|
||||
|
||||
- name: deploy baikal stack
|
||||
community.docker.docker_compose_v2:
|
||||
project_src: /opt/stacks/baikal
|
||||
files:
|
||||
- compose.yml
|
19
roles/docker/tasks/productivity/dawarich.yml
Normal file
19
roles/docker/tasks/productivity/dawarich.yml
Normal file
@ -0,0 +1,19 @@
|
||||
- name: make dawarich directories
|
||||
ansible.builtin.file:
|
||||
path: "{{ item}}"
|
||||
state: directory
|
||||
loop:
|
||||
- /opt/stacks/dawarich
|
||||
|
||||
- name: Template out the compose file
|
||||
ansible.builtin.template:
|
||||
src: dawarich-compose.yml.j2
|
||||
dest: /opt/stacks/dawarich/compose.yml
|
||||
owner: root
|
||||
mode: 644
|
||||
|
||||
- name: deploy dawarich stack
|
||||
community.docker.docker_compose_v2:
|
||||
project_src: /opt/stacks/dawarich
|
||||
files:
|
||||
- compose.yml
|
19
roles/docker/tasks/productivity/heyform.yml
Normal file
19
roles/docker/tasks/productivity/heyform.yml
Normal file
@ -0,0 +1,19 @@
|
||||
- name: make heyform directories
|
||||
ansible.builtin.file:
|
||||
path: "{{ item}}"
|
||||
state: directory
|
||||
loop:
|
||||
- /opt/stacks/heyform
|
||||
|
||||
- name: Template out the compose file
|
||||
ansible.builtin.template:
|
||||
src: heyform-compose.yml.j2
|
||||
dest: /opt/stacks/heyform/compose.yml
|
||||
owner: root
|
||||
mode: 644
|
||||
|
||||
- name: deploy heyform stack
|
||||
community.docker.docker_compose_v2:
|
||||
project_src: /opt/stacks/heyform
|
||||
files:
|
||||
- compose.yml
|
39
roles/docker/tasks/productivity/main.yml
Normal file
39
roles/docker/tasks/productivity/main.yml
Normal file
@ -0,0 +1,39 @@
|
||||
---
|
||||
# Productivity services - Task management, document handling, and personal organization
|
||||
|
||||
- name: Install paperlessngx
|
||||
import_tasks: paperlessngx.yml
|
||||
tags: paperlessngx
|
||||
|
||||
- name: Install baikal
|
||||
import_tasks: baikal.yml
|
||||
tags: baikal
|
||||
|
||||
- name: Install syncthing
|
||||
import_tasks: syncthing.yml
|
||||
tags: syncthing
|
||||
|
||||
- name: Install mmdl
|
||||
import_tasks: mmdl.yml
|
||||
tags: mmdl
|
||||
|
||||
- name: Install heyform
|
||||
import_tasks: heyform.yml
|
||||
tags: heyform
|
||||
|
||||
- name: Install dawarich
|
||||
import_tasks: dawarich.yml
|
||||
tags: dawarich
|
||||
|
||||
- name: Install pingvin
|
||||
import_tasks: pingvin.yml
|
||||
tags: pingvin
|
||||
|
||||
# Commented services can be uncommented when ready
|
||||
#- name: Install tasksmd
|
||||
# import_tasks: tasksmd.yml
|
||||
# tags: tasksmd
|
||||
|
||||
#- name: Install stirlingpdf
|
||||
# import_tasks: stirlingpdf.yml
|
||||
# tags: stirlingpdf
|
25
roles/docker/tasks/productivity/mmdl.yml
Normal file
25
roles/docker/tasks/productivity/mmdl.yml
Normal file
@ -0,0 +1,25 @@
|
||||
---
|
||||
- name: Create mmdl directories
|
||||
ansible.builtin.file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
loop:
|
||||
- /opt/stacks/mmdl
|
||||
- /opt/stacks/mmdl/data
|
||||
- /opt/stacks/mmdl/mysql
|
||||
|
||||
- name: Template mmdl environment file
|
||||
ansible.builtin.template:
|
||||
src: mmdl-env.j2
|
||||
dest: /opt/stacks/mmdl/.env.local
|
||||
|
||||
- name: Template mmdl compose file
|
||||
ansible.builtin.template:
|
||||
src: mmdl-compose.yml.j2
|
||||
dest: /opt/stacks/mmdl/compose.yml
|
||||
|
||||
- name: Deploy mmdl stack
|
||||
community.docker.docker_compose_v2:
|
||||
project_src: /opt/stacks/mmdl
|
||||
files:
|
||||
- compose.yml
|
26
roles/docker/tasks/productivity/paperlessngx.yml
Normal file
26
roles/docker/tasks/productivity/paperlessngx.yml
Normal file
@ -0,0 +1,26 @@
|
||||
- name: make paperlessngx directories
|
||||
ansible.builtin.file:
|
||||
path: "{{ item}}"
|
||||
state: directory
|
||||
loop:
|
||||
- /opt/stacks/paperlessngx
|
||||
|
||||
- name: Template out the compose file
|
||||
ansible.builtin.template:
|
||||
src: paperlessngx-compose.yml.j2
|
||||
dest: /opt/stacks/paperlessngx/compose.yml
|
||||
owner: root
|
||||
mode: 644
|
||||
|
||||
- name: Template out the .env file
|
||||
ansible.builtin.template:
|
||||
src: paperlessngx.env.j2
|
||||
dest: /opt/stacks/paperlessngx/docker-compose.env
|
||||
owner: root
|
||||
mode: 644
|
||||
|
||||
- name: deploy paperlessngx stack
|
||||
community.docker.docker_compose_v2:
|
||||
project_src: /opt/stacks/paperlessngx
|
||||
files:
|
||||
- compose.yml
|
19
roles/docker/tasks/productivity/pingvin.yml
Normal file
19
roles/docker/tasks/productivity/pingvin.yml
Normal file
@ -0,0 +1,19 @@
|
||||
- name: make pingvin directories
|
||||
ansible.builtin.file:
|
||||
path: "{{ item}}"
|
||||
state: directory
|
||||
loop:
|
||||
- /opt/stacks/pingvin
|
||||
|
||||
- name: Template out the compose file
|
||||
ansible.builtin.template:
|
||||
src: pingvin-compose.yml.j2
|
||||
dest: /opt/stacks/pingvin/compose.yml
|
||||
owner: root
|
||||
mode: 644
|
||||
|
||||
- name: deploy pingvin stack
|
||||
community.docker.docker_compose_v2:
|
||||
project_src: /opt/stacks/pingvin
|
||||
files:
|
||||
- compose.yml
|
19
roles/docker/tasks/productivity/stirlingpdf.yml
Normal file
19
roles/docker/tasks/productivity/stirlingpdf.yml
Normal file
@ -0,0 +1,19 @@
|
||||
- name: make StirlingPDF directories
|
||||
ansible.builtin.file:
|
||||
path: "{{ item}}"
|
||||
state: directory
|
||||
loop:
|
||||
- /opt/stacks/stirlingpdf
|
||||
|
||||
- name: Template out the compose file
|
||||
ansible.builtin.template:
|
||||
src: striling-compose.yml.j2
|
||||
dest: /opt/stacks/stirling/compose.yml
|
||||
owner: root
|
||||
mode: 644
|
||||
|
||||
- name: deploy stirling stack
|
||||
community.docker.docker_compose_v2:
|
||||
project_src: /opt/stacks/stirling
|
||||
files:
|
||||
- compose.yml
|
19
roles/docker/tasks/productivity/syncthing.yml
Normal file
19
roles/docker/tasks/productivity/syncthing.yml
Normal file
@ -0,0 +1,19 @@
|
||||
- name: make syncthing directories
|
||||
ansible.builtin.file:
|
||||
path: "{{ item}}"
|
||||
state: directory
|
||||
loop:
|
||||
- /opt/stacks/syncthing
|
||||
|
||||
- name: Template out the compose file
|
||||
ansible.builtin.template:
|
||||
src: syncthing-compose.yml.j2
|
||||
dest: /opt/stacks/syncthing/compose.yml
|
||||
owner: root
|
||||
mode: 644
|
||||
|
||||
- name: deploy syncthing stack
|
||||
community.docker.docker_compose_v2:
|
||||
project_src: /opt/stacks/syncthing
|
||||
files:
|
||||
- compose.yml
|
19
roles/docker/tasks/productivity/tasksmd.yml
Normal file
19
roles/docker/tasks/productivity/tasksmd.yml
Normal file
@ -0,0 +1,19 @@
|
||||
- name: make tasksmd directories
|
||||
ansible.builtin.file:
|
||||
path: "{{ item}}"
|
||||
state: directory
|
||||
loop:
|
||||
- /opt/stacks/tasksmd
|
||||
|
||||
- name: copy tasksmd compose file
|
||||
ansible.builtin.copy:
|
||||
src: tasksmd-compose.yml
|
||||
dest: /opt/stacks/tasksmd/compose.yml
|
||||
owner: root
|
||||
mode: 644
|
||||
|
||||
- name: deploy tasksmd stack
|
||||
community.docker.docker_compose_v2:
|
||||
project_src: /opt/stacks/tasksmd
|
||||
files:
|
||||
- compose.yml
|
Reference in New Issue
Block a user