Commit Graph

5 Commits

Author SHA1 Message Date
ml c968995481 Adding gitea act_runner roles 2026-07-02 09:02:50 +02:00
ml f53ccbab4a Add public download server at dl.ladkau.de and improve vault validation
- New dl role — nginx serves files publicly over HTTPS with directory
  listing; atmoz/sftp on port 2223 for key-only uploads; both containers
  share /opt/dl/files volume
- check-vault.sh gains a third tier: optional secrets are validated when
  present — vaultwarden_sso_client_secret must be non-empty,
  dl_sftp_authorized_keys must begin with a recognised SSH public key prefix
- dl.ladkau.de added to DNS table, check-services.sh, and status dashboard
- Configuration runbook section 7: deploy key generation, Gitea Actions
  scp workflow example, and SFTP client connection settings
- Provisioning runbook documents the three-tier vault validation behaviour
2026-06-28 16:20:47 +02:00
ml 1c36b7bbcb Add Vaultwarden self-hosted password vault at vault.ladkau.de
- New vaultwarden role — Vaultwarden container with SQLite storage, admin
  panel protected by token, Keycloak SSO enabled on second deploy after
  the OIDC client secret is available (SSO_ENABLED conditionally set so
  first provisioning deploy works without Keycloak being configured yet)
- Traefik routes vault.ladkau.de with lax rate limiting (SPA loads many assets)
- vault.ladkau.de added to DNS table, check-services.sh, status dashboard,
  and check-vault.sh (admin token required; SSO secret is post-provisioning)
- Configuration runbook: step 2.6 for Keycloak client, section 6 for
  Vaultwarden setup including admin panel, SSO login, and client configuration
2026-06-28 15:39:42 +02:00
ml fdcc0079cb Add public status dashboard at cloud.ladkau.de
Shows live service health (green/red links) and server CPU, RAM, and
disk usage with progress bars. Reads host stats from /host/proc,
checks service endpoints every 30 s, and serves a frosted-glass UI
over a configurable background image (ansible/roles/dashboard/files/bg.jpg).
2026-06-28 10:14:51 +02:00
ml 6115d9d48f Set up repo structure and implement base role
- Document architecture decisions in README (Ansible + Docker Compose + Traefik)
- Scaffold Ansible layout: inventory, site.yml, group_vars, 9 service roles
- Implement base role: package install, deploy user, SSH hardening,
  UFW firewall (22/80/443), fail2ban, unattended-upgrades
- Add reinstall runbook in docs/runbook.md
- Add ansible/requirements.yml for community.general and ansible.posix
2026-06-27 15:02:21 +02:00