koopa-admin-log/scripts/notes
2026-09-09 00:52:54 +02:00
..
build.sh ops: paivana and caddy config refresh 2026-09-09 00:52:54 +02:00
cutover-to-silverbullet.sh ops: paivana and caddy config refresh 2026-09-09 00:52:54 +02:00
prepare-basicauth-seed.sh ops: paivana and caddy config refresh 2026-09-09 00:52:54 +02:00
README.md ops: paivana and caddy config refresh 2026-09-09 00:52:54 +02:00
status.sh ops: paivana and caddy config refresh 2026-09-09 00:52:54 +02:00
up.sh ops: paivana and caddy config refresh 2026-09-09 00:52:54 +02:00

SilverBullet — scripts (koopa)

Product FreeNotes is separate (native enc). These scripts operate the parked SilverBullet web stack on port 9028.

Script Role
status.sh Read-only dirs / containers / :9028
build.sh podman buildlocalhost/koopa-silverbullet:cachyos
up.sh podman-compose up in ~/koopa-silverbullet + health
cutover-to-silverbullet.sh Live freenotes → silverbullet (default dry-run; --apply mutates)
prepare-basicauth-seed.sh SoT → /tmp/silverbullet-basicauth-seed.txt (no sudo)

Caddy (sudo, separate): scripts/caddy/merge-notes-site.sh, apply-notes-basicauth.sh.

Cutover order (needs Freigabe + DNS)

On koopa as hernani (admin-log clone from Forgejo when needed):

bash …/scripts/notes/status.sh
bash …/scripts/notes/cutover-to-silverbullet.sh          # dry-run
bash …/scripts/notes/cutover-to-silverbullet.sh --apply   # Freigabe

Then Caddy (root) + seed from laptop SoT:

# laptop (unlocked secrets-enc):
bash …/scripts/notes/prepare-basicauth-seed.sh
scp /tmp/silverbullet-basicauth-seed.txt hernani@koopa:/tmp/

# koopa root:
sudo bash …/scripts/caddy/merge-notes-site.sh
sudo NOTES_AUTH_SEED=/tmp/silverbullet-basicauth-seed.txt \
  bash …/scripts/caddy/apply-notes-basicauth.sh

DNS: silverbullet.hacktivism.ch → koopa (human). Public: https://silverbullet.hacktivism.ch/.

Keeps on cutover: space/, .env. Refreshes compose/Containerfile/entrypoint/unit from configs/notes/.