linderhof/playbooks/site.yml
Matthias Johnson b38cd94fc8 Fix fresh-deploy blockers and clean up architecture
- Seed postfix-accounts.cf before mailserver start to satisfy Dovecot's
  requirement for at least one account on first boot
- Add failed_when: false to mail user/alias list tasks (files don't exist
  on first run)
- Add forgejo_runner_version (was undefined); default to 12
- Create /srv/forgejo/data/gitea/conf before deploying app.ini
- Decouple goaccess sync from restic: new enable_goaccess_sync flag with
  its own goaccess_sync_* variables
- Move Docker installation to bootstrap exclusively; rename docker.yml to
  networks.yml (runs docker_network role only)
- Add radicale_password to vault template and setup.sh
- Fix goaccess sync tasks gated on enable_goaccess_sync
- Add upstream bug comment to authorized_key deprecation warning
- Update CLAUDE.md and README.md throughout

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-28 00:51:16 -07:00

46 lines
948 B
YAML

---
# Master playbook - runs all components in order
# Usage: ansible-playbook playbooks/site.yml
#
# To run specific components, use tags:
# ansible-playbook playbooks/site.yml --tags mail
# ansible-playbook playbooks/site.yml --tags monitoring,restic
- import_playbook: bootstrap.yml
tags: [bootstrap, never] # only runs when explicitly tagged
- import_playbook: networks.yml
tags: [networks]
- import_playbook: nebula.yml
tags: [nebula]
- import_playbook: caddy.yml
tags: [caddy]
- import_playbook: mail.yml
tags: [mail]
- import_playbook: forgejo.yml
tags: [forgejo]
- import_playbook: monitoring.yml
tags: [monitoring]
- import_playbook: tuwunel.yml
tags: [tuwunel]
- import_playbook: radicale.yml
tags: [radicale]
- import_playbook: diun.yml
tags: [diun]
- import_playbook: restic.yml
tags: [restic]
- import_playbook: fail2ban.yml
tags: [fail2ban]
- import_playbook: goaccess.yml
tags: [goaccess]