Commit Graph
13 Commits
Author SHA1 Message Date
PhilandClaude Opus 5.5 57c29f1a7f Stop regenerating the dir2opds hash so Caddy isn't restarted every run
bcrypt uses a random salt, so hashing the basic auth password on every
run changed the Caddyfile each time and triggered the Caddy restart
handler. Reuse the deployed hash while it still matches the vault
password, and only make a new one when it doesn't (or on a fresh host).

The old awk also turned htpasswd's trailing blank line into a stray
line in the Caddyfile; the next deploy removes it once.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 22:08:34 -06:00
PhilandClaude Opus 5.5 e569a56417 Reserve fixed IPs on the lava network so Caddy can always start
lava was created by hand without an ip_range, so any container could be
given Caddy's fixed IP (172.20.0.5). After a reboot the containers race
for the low addresses and Caddy often fails with "Address already in use".

- The docker role now creates lava as 172.20.0.0/16 with dynamic
  addresses limited to 172.20.128.0/17, so 172.20.0.x is free for fixed
  IPs, and warns if the network still has the old layout.
- Gitea gets fixed IP 172.20.0.6 once the network has the reserved range,
  since its ufw-docker SSH rule points at its IP.
- ufw-docker allow rules for Caddy (80, 443) and Gitea SSH are managed by
  the playbook and follow IP changes.
- migrate-lava-network.yml recreates the existing network once: it takes
  down every compose project on lava (volumes kept), recreates the
  network, and brings them back up, Caddy first.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 21:04:22 -06:00
PhilandClaude Opus 5.5 c0145dd5a2 Harden permissions, close exposed ports, and clean up tasks
- Quote file modes. Unquoted 644/755 were read as decimal, so files
  landed as 1204. Templates holding secrets are now 0640 root:docker.
- Stop publishing Authentik 9000/9443 and Karakeep 3000 (Caddy reaches
  them over the docker network), bind dir2opds to the Tailscale IP, and
  drop Caddy's unused 8448.
- Atuin login uses no_log and only runs once; the installer only runs
  when Atuin is missing.
- Make chsh, ufw-docker install, the bat symlink and Atuin dotfiles
  idempotent.
- Back up the Paperless data volume (SQLite DB), stopping Paperless
  during the backup.
- Close public sign-up on kosync and ByteStash.
- Replace hardcoded IPs and domains with variables.
- Remove teardown tasks and templates for 9 retired services.
- Fix the dockcheck comment: it auto-updates labelled containers.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 21:03:54 -06:00
Phil dea3b29b6b Add godulf to Caddy properly 2026-07-01 14:52:51 -06:00
Phil b7b54d59af Merge branch 'main' of git.thesatelliteoflove.com:phil/ansible
No
2026-06-30 18:33:59 -06:00
Phil 706af70112 Merge branch 'main' of git.thesatelliteoflove.com:phil/ansible
why though?
2026-06-30 18:17:36 -06:00
Phil 0155b42a7a Merge branch 'main' of git.thesatelliteoflove.com:phil/ansible
Trying to fix the repo
2026-06-30 18:00:01 -06:00
Phil 662e164971 Caddy 2026-06-30 17:56:19 -06:00
Phil 0927187789 Caddy 2026-06-30 17:55:25 -06:00
Phil e47465c34d Merge branch 'main' of git.thesatelliteoflove.com:phil/ansible 2026-05-07 11:49:23 -06:00
Phil 6fc6094f84 fixed caddyfile 2026-05-07 11:47:49 -06:00
Phil d2b45435d6 playing with dawarich config 2026-05-07 11:36:10 -06:00
Phil a18b835c53 Authentik update 2026-05-05 14:48:04 -06:00