Phil d4bec94b99 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>
2025-06-06 11:50:26 -06:00

113 lines
2.2 KiB
YAML

- name: Install required system packages
apt:
pkg:
- apt-transport-https
- ca-certificates
- curl
- software-properties-common
- python3-pip
- virtualenv
- python3-setuptools
- duf
state: latest
update_cache: true
- name: setup shell
import_tasks: shell.yml
- name: Add Docker GPG apt Key
apt_key:
url: https://download.docker.com/linux/ubuntu/gpg
state: present
- name: Add Docker Repository
apt_repository:
repo: deb https://download.docker.com/linux/debian bookworm stable
state: present
- name: Update apt and install docker-ce
apt:
name: docker-ce
state: latest
update_cache: true
- name: copy over ufw-docker.sh
ansible.builtin.copy:
src: ufw-docker.sh
dest: /usr/local/bin/ufw-docker.sh
owner: root
mode: 755
- name: execute ufw-docker.sh
ansible.builtin.shell: /usr/local/bin/ufw-docker.sh install
- name: make directories
ansible.builtin.file:
path: "{{ item }}"
state: directory
loop:
- /opt/stacks
- /opt/dockge
- name: copy dockge compose file
ansible.builtin.copy:
src: dockge-compose.yml
dest: /opt/dockge/dockge.yml
owner: root
mode: 644
# 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: Deploy development services
import_tasks: development/main.yml
tags:
- development
- gitea
- codeserver
- conduit
- name: Deploy media services
import_tasks: media/main.yml
tags:
- media
- audiobookshelf
- calibre
- ghost-1
- pinchflat
- pinry
- hoarder
- manyfold
- name: Deploy productivity services
import_tasks: productivity/main.yml
tags:
- productivity
- paperlessngx
- baikal
- syncthing
- mmdl
- heyform
- dawarich
- pingvin
- name: Deploy monitoring services
import_tasks: monitoring/main.yml
tags:
- monitoring
- glance
- changedetection
- appriseapi
- name: Deploy communication services
import_tasks: communication/main.yml
tags:
- communication
- gotosocial
- postiz