platform/platform-infra
Bart Van Geyt 7a65e7f7c6 fix(ansible/backup): create /etc/sanoid and install its defaults
Some sanoid packages (e.g. on Ubuntu 26.04) don't ship /etc/sanoid, so the
config template failed with 'Destination directory does not exist'. Create
the directory explicitly, and copy the packaged sanoid.defaults.conf into
it (sanoid requires it beside sanoid.conf) so the first timer run succeeds.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-09 05:28:08 +02:00
..
ansible fix(ansible/backup): create /etc/sanoid and install its defaults 2026-07-09 05:28:08 +02:00
stacks Phase 2: platform service stacks + CLAUDE.md 2026-07-07 16:58:18 +02:00
README.md Phase 1: Ansible host baseline for Ubuntu VM 2026-07-07 12:45:42 +02:00

platform-infra

Host baseline and platform services as code.

ansible/ — Phase 1 host baseline

Idempotent Ubuntu 24.04 host config. See ansible/README.md for how to run it.

Roles: base (packages, timezone, unattended-upgrades) → zfs (pool on a dedicated disk + platform datasets) → docker (Engine + Compose, data-root on ZFS, zfs storage driver) → firewall (nftables inbound + container SMTP egress block) → ssh_hardening (key-first SSH, sftponly group).

Planned (later phases)

  • Phase 2 base compose projects: Traefik, shared MariaDB, Forgejo + registry, Prometheus/Grafana/Loki, Uptime-Kuma.
  • Phase 5 Ansible: automysqlbackup, ZFS snapshot/send jobs.

See ../docs/07-repo-layout-gitops.md.