# koopa-admin-log Ops log and config mirror for host **koopa** (openSUSE Tumbleweed). **Day logs:** `2026/` (major only, written same day). Topic notes: `YYYY-MM-DD--topic.md`. **Secrets:** not in this repo — see **`SECRETS.md`** and sibling **`koopa-admin-secrets`**. ## Git origin | | | |--|--| | **origin** | `https://git.hacktivism.ch/hernani/koopa-admin-log.git` | | Web | https://git.hacktivism.ch/hernani/koopa-admin-log | | SSH | `ssh://git@git.hacktivism.ch:9200/hernani/koopa-admin-log.git` | Hosted on **Forgejo rootless** (this host). See `2026/2026-07-10--admin-log-origin-forgejo.md`. ## Layout ``` host/ # openSUSE host-level config + overview overview/services.md # graphical service map systemd/ firewalld/ caddy/ network/ configs/ # mirrored app configs (caddy, taler, forgejo, …) taler-hacktivism/ # merchant container taler-hacktivism taler-hacktivism-bank/ # bank container (image …-banking) taler-exchange/ # exchange conf (inside ansible container) taler-exchange-ansible/ # container taler-hacktivism-exchange-ansible forgejo/ # rootless git.hacktivism.ch castopod/ bonfire/ prime/ # compose mirrors (no secret values) tor/ # KoopaRelay ORPort 8080 scripts/ # merchant, exchange, monitoring helpers taler-merchant/ # merchant-model start scripts taler-exchange/ # same model; archive/ = greenfield bootstrap 2026/ # day logs + dated topic notes ``` ## Live containers (podman) **Authoritative snapshot of host koopa:** [`host/overview/LIVE.md`](host/overview/LIVE.md) (refreshed from live). | Name (podman) | Role | Host port | |---------------|------|-----------| | `taler-hacktivism` | merchant | **9010** (+ landing **9015**) | | **`taler-hacktivism-exchange-ansible`** | exchange (Ansible/systemd) | **9011** (+ landing **9014**) | | `taler-hacktivism-bank` | libeufin-bank (GOA) | **9012** (+ landing **9013**) | | `koopa-castopod` (+ mariadb/redis) | Castopod | **9020** | | `koopa-bonfire` (+ postgres) | Bonfire | **9021** | | `koopa-prime-jellyfin` | Jellyfin | **9022** | | `koopa-prime-qbittorrent` | qBittorrent | **9023** | | `koopa-forgejo` (+ postgres) | Forgejo rootless | **9024** + SSH **9200** | Start model (Taler merchant/bank): **root** `start_base_services_*` → `/usr/local/bin/start_*.sh`. Start model (exchange): `~/ansible-taler-exchange/` → `run-container-koopa.sh` + `deploy-hacktivism-goa.sh`. Start model (user apps): `hernani` → `cd ~/koopa-* && podman-compose up -d`. Public hosts: `taler.` / `exchange.` / `bank.` / `castopod.` / `bonfire.` / `prime.` / `bt.` / **`git.hacktivism.ch`** (Caddy → 9010–9015 / 9020–**9024**; git-SSH host **9200** direct). Service **details**: `configs/taler-hacktivism*`, `configs/taler-exchange*`, `configs/forgejo/`, `scripts/*`. Host-wide picture: **`host/overview/services.md`**. Port table: **`configs/ports.md`**. Router: **`../vecigate-admin-log`**. **Benchmarks** (drive from the local machine, measure on koopa): **`benchmarks/`** → amount ladder: `benchmarks/amount-ladder/`. **Exchange snapshot/restore (GOA, local images only):** → `2026/2026-07-09--exchange-snapshot-and-restore.md` **Exchange `/keys` + Wire + bank account (diagram):** `configs/taler-exchange/README.md` (section “/keys, Wire and Account”). **Castopod pilot content (FOSS Airwaves, user ngi, free licenses):** `2026/2026-07-09--castopod-content.md` → https://castopod.hacktivism.ch/ **Bonfire FEDERATE + guest public (2026-07-10):** `2026/2026-07-10--bonfire-federate.md` → https://bonfire.hacktivism.ch/ (ground zero: `2026/2026-07-09--bonfire-ground-zero.md`) **Forgejo rootless (git.hacktivism.ch, no free registration, SSH :9200):** `2026/2026-07-10--forgejo-rootless.md` → https://git.hacktivism.ch/