koopa-admin-log/scripts/caddy/README.md

84 lines
3.1 KiB
Markdown

# Caddy on koopa
Live: **`/etc/caddy/Caddyfile`**.
Mirror: **`configs/caddy/Caddyfile`** (same as `host/caddy/Caddyfile`).
## Reload after edit
```bash
sudo caddy validate --config /etc/caddy/Caddyfile
sudo systemctl reload caddy
```
Preferred live path: edit `~/koopa-caddy/Caddyfile`, then `sudo ~/bin/caddy-apply`
(copies → `/etc/caddy/Caddyfile`, validate, `systemctl reload caddy`).
## GOA bank @wdGet (FP Android withdraw) — full replace
Live snapshot + `@wdGet` (GET Integration → `:9013` → demo-api):
- `Caddyfile.koopa-live-wdGet` — whole-file replacement (based on live koopa, not admin-log mirror)
- `apply-goa-wdGet-full-replace.sh` — replaces `~/koopa-caddy/Caddyfile` **and** `/etc/caddy/Caddyfile`, reload, smoke
```bash
# on koopa (root) — scp both files first if no admin-log checkout:
sudo bash /tmp/goa-fp-port/caddy/apply-goa-wdGet-full-replace.sh \
/tmp/goa-fp-port/caddy/Caddyfile.koopa-live-wdGet
```
FP SoT: `$HOME/git/admin-logs/taler/francpaysan-admin-log` `files/caddy/Caddyfile` `@wdGet`.
## dossiers.ngi* — basic_auth (htaccess-in-front)
Caddy **ignores** Apache `.htaccess`. Use:
```bash
# clone koopa-admin-log from Forgejo when needed (no permanent ~/ clone)
sudo bash /path/to/koopa-admin-log/scripts/caddy/apply-dossiers-ngi-basicauth.sh
```
Host runtime: `/etc/caddy/secrets/dossiers-ngi-basicauth.txt` (root-only).
SoT: `koopa-admin-secrets-enc` (git-crypt) → `koopa/home-hernani/caddy/`.
Hosts: `dossiers.ngi` / `dossiers.2.ngi` / `dossiers.3.ngi`.hacktivism.ch
## silverbullet.hacktivism.ch — merge + basic_auth
After podman cutover (`scripts/notes/cutover-to-silverbullet.sh --apply`) and DNS:
```bash
# laptop: SoT → /tmp seed (no secret echo)
bash /path/to/koopa-admin-log/scripts/notes/prepare-basicauth-seed.sh
scp /tmp/silverbullet-basicauth-seed.txt hernani@koopa:/tmp/
# koopa root:
sudo bash /path/to/koopa-admin-log/scripts/caddy/merge-notes-site.sh
sudo NOTES_AUTH_SEED=/tmp/silverbullet-basicauth-seed.txt \
bash /path/to/koopa-admin-log/scripts/caddy/apply-notes-basicauth.sh
```
`merge-notes-site.sh` renames leftover `freenotes`/`notes` site blocks → `silverbullet.hacktivism.ch`.
Host runtime: `/etc/caddy/secrets/silverbullet-basicauth.txt` (root-only).
SoT: `koopa-admin-secrets-enc` (git-crypt) → `koopa/home-hernani/caddy/silverbullet-basicauth.txt`.
## New HTTPS vhost — `caddy-apply.sh`
Generic merge (site snippet + ACME `http://` list + ports comment):
```bash
# laptop mirror (no reload):
bash scripts/caddy/caddy-apply.sh \
--config configs/caddy/Caddyfile \
--snippet configs/caddy/galene.hacktivism.ch.caddy \
--site galene.hacktivism.ch --port 9029 --label galene \
--no-reload
# koopa live (root):
sudo bash …/scripts/caddy/caddy-apply.sh \
--snippet …/configs/caddy/SITE.caddy \
--site SITE.hacktivism.ch --port NNNN --label NAME
```
Allocated collab vhosts (2026-09-08): `galene` **9029**, `cryptpad` **9030**, `meet` **9031**, `bbb` **9032**.
Snippets under `configs/caddy/*.hacktivism.ch.caddy`. Image bases: CachyOS except **bbb=Ubuntu**.
Still valid: hand-edit live + mirror, then validate/reload.