diff --git a/roles/docker/tasks/gotosocial.yml b/roles/docker/tasks/communication/gotosocial.yml similarity index 100% rename from roles/docker/tasks/gotosocial.yml rename to roles/docker/tasks/communication/gotosocial.yml diff --git a/roles/docker/tasks/communication/main.yml b/roles/docker/tasks/communication/main.yml new file mode 100644 index 0000000..572aeb0 --- /dev/null +++ b/roles/docker/tasks/communication/main.yml @@ -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 \ No newline at end of file diff --git a/roles/docker/tasks/postiz.yml b/roles/docker/tasks/communication/postiz.yml similarity index 100% rename from roles/docker/tasks/postiz.yml rename to roles/docker/tasks/communication/postiz.yml diff --git a/roles/docker/tasks/codeserver.yml b/roles/docker/tasks/development/codeserver.yml similarity index 100% rename from roles/docker/tasks/codeserver.yml rename to roles/docker/tasks/development/codeserver.yml diff --git a/roles/docker/tasks/conduit.yml b/roles/docker/tasks/development/conduit.yml similarity index 100% rename from roles/docker/tasks/conduit.yml rename to roles/docker/tasks/development/conduit.yml diff --git a/roles/docker/tasks/gitea.yml b/roles/docker/tasks/development/gitea.yml similarity index 100% rename from roles/docker/tasks/gitea.yml rename to roles/docker/tasks/development/gitea.yml diff --git a/roles/docker/tasks/grist.yml b/roles/docker/tasks/development/grist.yml similarity index 100% rename from roles/docker/tasks/grist.yml rename to roles/docker/tasks/development/grist.yml diff --git a/roles/docker/tasks/development/main.yml b/roles/docker/tasks/development/main.yml new file mode 100644 index 0000000..a959797 --- /dev/null +++ b/roles/docker/tasks/development/main.yml @@ -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 \ No newline at end of file diff --git a/roles/docker/tasks/authentik.yml b/roles/docker/tasks/infrastructure/authentik.yml similarity index 100% rename from roles/docker/tasks/authentik.yml rename to roles/docker/tasks/infrastructure/authentik.yml diff --git a/roles/docker/tasks/caddy.yml b/roles/docker/tasks/infrastructure/caddy.yml similarity index 100% rename from roles/docker/tasks/caddy.yml rename to roles/docker/tasks/infrastructure/caddy.yml diff --git a/roles/docker/tasks/infrastructure/main.yml b/roles/docker/tasks/infrastructure/main.yml new file mode 100644 index 0000000..b340b6c --- /dev/null +++ b/roles/docker/tasks/infrastructure/main.yml @@ -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 \ No newline at end of file diff --git a/roles/docker/tasks/main.yml b/roles/docker/tasks/main.yml index 3efa890..379b87e 100644 --- a/roles/docker/tasks/main.yml +++ b/roles/docker/tasks/main.yml @@ -56,121 +56,58 @@ owner: root mode: 644 -- name: deploy dockge stack - community.docker.docker_compose_v2: - project_src: /opt/dockge - files: - - dockge.yml - tags: dockge +# Deploy services by category for better organization and dependency management +- name: Deploy infrastructure services + import_tasks: infrastructure/main.yml + tags: + - infrastructure + - caddy + - authentik + - dockge -- name: Install caddy - import_tasks: caddy.yml - tags: caddy +- name: Deploy development services + import_tasks: development/main.yml + tags: + - development + - gitea + - codeserver + - conduit -- name: Install gitea - import_tasks: gitea.yml - tags: gitea +- name: Deploy media services + import_tasks: media/main.yml + tags: + - media + - audiobookshelf + - calibre + - ghost-1 + - pinchflat + - pinry + - hoarder + - manyfold -- name: Install hoarder - import_tasks: hoarder.yml - tags: hoarder +- name: Deploy productivity services + import_tasks: productivity/main.yml + tags: + - productivity + - paperlessngx + - baikal + - syncthing + - mmdl + - heyform + - dawarich + - pingvin -- name: Install authentik - import_tasks: authentik.yml - tags: authentik +- name: Deploy monitoring services + import_tasks: monitoring/main.yml + tags: + - monitoring + - glance + - changedetection + - appriseapi -- name: Install gotosocial - import_tasks: gotosocial.yml - tags: gotosocial - -#- name: Install grist -# import_tasks: grist.yml -# 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 \ No newline at end of file +- name: Deploy communication services + import_tasks: communication/main.yml + tags: + - communication + - gotosocial + - postiz \ No newline at end of file diff --git a/roles/docker/tasks/audiobookshelf.yml b/roles/docker/tasks/media/audiobookshelf.yml similarity index 100% rename from roles/docker/tasks/audiobookshelf.yml rename to roles/docker/tasks/media/audiobookshelf.yml diff --git a/roles/docker/tasks/beaver.yml b/roles/docker/tasks/media/beaver.yml similarity index 100% rename from roles/docker/tasks/beaver.yml rename to roles/docker/tasks/media/beaver.yml diff --git a/roles/docker/tasks/calibre.yml b/roles/docker/tasks/media/calibre.yml similarity index 100% rename from roles/docker/tasks/calibre.yml rename to roles/docker/tasks/media/calibre.yml diff --git a/roles/docker/tasks/ghost-1.yml b/roles/docker/tasks/media/ghost-1.yml similarity index 100% rename from roles/docker/tasks/ghost-1.yml rename to roles/docker/tasks/media/ghost-1.yml diff --git a/roles/docker/tasks/hoarder.yml b/roles/docker/tasks/media/hoarder.yml similarity index 100% rename from roles/docker/tasks/hoarder.yml rename to roles/docker/tasks/media/hoarder.yml diff --git a/roles/docker/tasks/media/main.yml b/roles/docker/tasks/media/main.yml new file mode 100644 index 0000000..c95e3c2 --- /dev/null +++ b/roles/docker/tasks/media/main.yml @@ -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 \ No newline at end of file diff --git a/roles/docker/tasks/manyfold.yml b/roles/docker/tasks/media/manyfold.yml similarity index 100% rename from roles/docker/tasks/manyfold.yml rename to roles/docker/tasks/media/manyfold.yml diff --git a/roles/docker/tasks/pinchflat.yml b/roles/docker/tasks/media/pinchflat.yml similarity index 100% rename from roles/docker/tasks/pinchflat.yml rename to roles/docker/tasks/media/pinchflat.yml diff --git a/roles/docker/tasks/pinry.yml b/roles/docker/tasks/media/pinry.yml similarity index 100% rename from roles/docker/tasks/pinry.yml rename to roles/docker/tasks/media/pinry.yml diff --git a/roles/docker/tasks/appriseapi.yml b/roles/docker/tasks/monitoring/appriseapi.yml similarity index 100% rename from roles/docker/tasks/appriseapi.yml rename to roles/docker/tasks/monitoring/appriseapi.yml diff --git a/roles/docker/tasks/changedetection.yml b/roles/docker/tasks/monitoring/changedetection.yml similarity index 100% rename from roles/docker/tasks/changedetection.yml rename to roles/docker/tasks/monitoring/changedetection.yml diff --git a/roles/docker/tasks/glance.yml b/roles/docker/tasks/monitoring/glance.yml similarity index 100% rename from roles/docker/tasks/glance.yml rename to roles/docker/tasks/monitoring/glance.yml diff --git a/roles/docker/tasks/monitoring/main.yml b/roles/docker/tasks/monitoring/main.yml new file mode 100644 index 0000000..99f2229 --- /dev/null +++ b/roles/docker/tasks/monitoring/main.yml @@ -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 \ No newline at end of file diff --git a/roles/docker/tasks/baikal.yml b/roles/docker/tasks/productivity/baikal.yml similarity index 100% rename from roles/docker/tasks/baikal.yml rename to roles/docker/tasks/productivity/baikal.yml diff --git a/roles/docker/tasks/dawarich.yml b/roles/docker/tasks/productivity/dawarich.yml similarity index 100% rename from roles/docker/tasks/dawarich.yml rename to roles/docker/tasks/productivity/dawarich.yml diff --git a/roles/docker/tasks/heyform.yml b/roles/docker/tasks/productivity/heyform.yml similarity index 100% rename from roles/docker/tasks/heyform.yml rename to roles/docker/tasks/productivity/heyform.yml diff --git a/roles/docker/tasks/productivity/main.yml b/roles/docker/tasks/productivity/main.yml new file mode 100644 index 0000000..7d0f958 --- /dev/null +++ b/roles/docker/tasks/productivity/main.yml @@ -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 \ No newline at end of file diff --git a/roles/docker/tasks/mmdl.yml b/roles/docker/tasks/productivity/mmdl.yml similarity index 100% rename from roles/docker/tasks/mmdl.yml rename to roles/docker/tasks/productivity/mmdl.yml diff --git a/roles/docker/tasks/paperlessngx.yml b/roles/docker/tasks/productivity/paperlessngx.yml similarity index 100% rename from roles/docker/tasks/paperlessngx.yml rename to roles/docker/tasks/productivity/paperlessngx.yml diff --git a/roles/docker/tasks/pingvin.yml b/roles/docker/tasks/productivity/pingvin.yml similarity index 100% rename from roles/docker/tasks/pingvin.yml rename to roles/docker/tasks/productivity/pingvin.yml diff --git a/roles/docker/tasks/stirlingpdf.yml b/roles/docker/tasks/productivity/stirlingpdf.yml similarity index 100% rename from roles/docker/tasks/stirlingpdf.yml rename to roles/docker/tasks/productivity/stirlingpdf.yml diff --git a/roles/docker/tasks/syncthing.yml b/roles/docker/tasks/productivity/syncthing.yml similarity index 100% rename from roles/docker/tasks/syncthing.yml rename to roles/docker/tasks/productivity/syncthing.yml diff --git a/roles/docker/tasks/tasksmd.yml b/roles/docker/tasks/productivity/tasksmd.yml similarity index 100% rename from roles/docker/tasks/tasksmd.yml rename to roles/docker/tasks/productivity/tasksmd.yml