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:
parent
8ca2122cb3
commit
d4bec94b99
10
roles/docker/tasks/communication/main.yml
Normal file
10
roles/docker/tasks/communication/main.yml
Normal 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
|
19
roles/docker/tasks/development/main.yml
Normal file
19
roles/docker/tasks/development/main.yml
Normal 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
|
17
roles/docker/tasks/infrastructure/main.yml
Normal file
17
roles/docker/tasks/infrastructure/main.yml
Normal 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
|
@ -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
|
|
35
roles/docker/tasks/media/main.yml
Normal file
35
roles/docker/tasks/media/main.yml
Normal 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
|
14
roles/docker/tasks/monitoring/main.yml
Normal file
14
roles/docker/tasks/monitoring/main.yml
Normal 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
|
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
|
Loading…
x
Reference in New Issue
Block a user