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>
113 lines
2.2 KiB
YAML
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 |