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:
Phil 2025-06-06 11:50:26 -06:00
parent 8ca2122cb3
commit d4bec94b99
35 changed files with 184 additions and 113 deletions

View File

@ -0,0 +1,10 @@
---
# Communication services - Social media, messaging, and external communication
- name: Install gotosocial
import_tasks: gotosocial.yml
tags: gotosocial
- name: Install postiz
import_tasks: postiz.yml
tags: postiz

View File

@ -0,0 +1,19 @@
---
# Development services - Code, collaboration, and development tools
- name: Install gitea
import_tasks: gitea.yml
tags: gitea
- name: Install codeserver
import_tasks: codeserver.yml
tags: codeserver
- name: Install conduit
import_tasks: conduit.yml
tags: conduit
# Commented services can be uncommented when ready
#- name: Install grist
# import_tasks: grist.yml
# tags: grist

View File

@ -0,0 +1,17 @@
---
# Infrastructure services - Core platform components
- name: Install caddy
import_tasks: caddy.yml
tags: caddy
- name: Install authentik
import_tasks: authentik.yml
tags: authentik
- name: Deploy dockge stack
community.docker.docker_compose_v2:
project_src: /opt/dockge
files:
- dockge.yml
tags: dockge

View File

@ -56,121 +56,58 @@
owner: root owner: root
mode: 644 mode: 644
- name: deploy dockge stack # Deploy services by category for better organization and dependency management
community.docker.docker_compose_v2: - name: Deploy infrastructure services
project_src: /opt/dockge import_tasks: infrastructure/main.yml
files: tags:
- dockge.yml - infrastructure
tags: dockge - caddy
- authentik
- dockge
- name: Install caddy - name: Deploy development services
import_tasks: caddy.yml import_tasks: development/main.yml
tags: caddy tags:
- development
- gitea
- codeserver
- conduit
- name: Install gitea - name: Deploy media services
import_tasks: gitea.yml import_tasks: media/main.yml
tags: gitea tags:
- media
- audiobookshelf
- calibre
- ghost-1
- pinchflat
- pinry
- hoarder
- manyfold
- name: Install hoarder - name: Deploy productivity services
import_tasks: hoarder.yml import_tasks: productivity/main.yml
tags: hoarder tags:
- productivity
- paperlessngx
- baikal
- syncthing
- mmdl
- heyform
- dawarich
- pingvin
- name: Install authentik - name: Deploy monitoring services
import_tasks: authentik.yml import_tasks: monitoring/main.yml
tags: authentik tags:
- monitoring
- glance
- changedetection
- appriseapi
- name: Install gotosocial - name: Deploy communication services
import_tasks: gotosocial.yml import_tasks: communication/main.yml
tags: gotosocial tags:
- communication
#- name: Install grist - gotosocial
# import_tasks: grist.yml - postiz
# tags: grist
#- name: Install tasksmd
# import_tasks: tasksmd.yml
# tags: tasksmd
- name: Install glance
import_tasks: glance.yml
tags: glance
#- name: Install stirlingpdf
# import_tasks: stirlingpdf.yml
# tags: stirlingpdf
- name: Install pingvin
import_tasks: pingvin.yml
tags: pingvin
- name: Install postiz
import_tasks: postiz.yml
tags: postiz
- name: Install pinry
import_tasks: pinry.yml
tags: pinry
- name: Install audiobookshelf
import_tasks: audiobookshelf.yml
tags: audiobookshelf
- name: Install calibre
import_tasks: calibre.yml
tags: calibre
- name: Install paperlessngx
import_tasks: paperlessngx.yml
tags: paperlessngx
- name: Install heyform
import_tasks: heyform.yml
tags: heyform
- name: Install codeserver
import_tasks: codeserver.yml
tags: codeserver
- name: Install baikal
import_tasks: baikal.yml
tags: baikal
- name: Install syncthing
import_tasks: syncthing.yml
tags: syncthing
- name: Install ghost-1
import_tasks: ghost-1.yml
tags: ghost-1
- name: Install dawarich
import_tasks: dawarich.yml
tags: dawarich
#- name: Install beaver
# import_tasks: beaver.yml
# tags: beaver
- name: Install changedetection
import_tasks: changedetection.yml
tags: changedetection
- name: Install conduit
import_tasks: conduit.yml
tags: conduit
- name: Install pinchflat
import_tasks: pinchflat.yml
tags: pinchflat
- name: Install appriseapi
import_tasks: appriseapi.yml
tags: appriseapi
- name: Install manyfold
import_tasks: manyfold.yml
tags: manyfold
- name: Install mmdl
import_tasks: mmdl.yml
tags: mmdl

View File

@ -0,0 +1,35 @@
---
# Media services - Content creation, management, and consumption
- name: Install audiobookshelf
import_tasks: audiobookshelf.yml
tags: audiobookshelf
- name: Install calibre
import_tasks: calibre.yml
tags: calibre
- name: Install ghost-1
import_tasks: ghost-1.yml
tags: ghost-1
- name: Install pinchflat
import_tasks: pinchflat.yml
tags: pinchflat
- name: Install pinry
import_tasks: pinry.yml
tags: pinry
- name: Install hoarder
import_tasks: hoarder.yml
tags: hoarder
- name: Install manyfold
import_tasks: manyfold.yml
tags: manyfold
# Commented services can be uncommented when ready
#- name: Install beaver
# import_tasks: beaver.yml
# tags: beaver

View File

@ -0,0 +1,14 @@
---
# Monitoring services - System monitoring, alerts, and dashboards
- name: Install glance
import_tasks: glance.yml
tags: glance
- name: Install changedetection
import_tasks: changedetection.yml
tags: changedetection
- name: Install appriseapi
import_tasks: appriseapi.yml
tags: appriseapi

View 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