koopa-admin-log/host/overview/services.md
Hernâni Marques b5c1bf7591
docs: reflect live koopa state (inventory + exchange-ansible)
Capture what is actually running on host koopa: podman names/ports,
Caddy vhosts, and hernani paths. Authoritative snapshot:
host/overview/LIVE.md.

Rename docs to live container taler-hacktivism-exchange-ansible
(not the short taler-exchange-hacktivism label). Add public-only
mirror of ~/ansible-taler-exchange deploy helpers (no secrets.yml).
2026-07-10 16:00:24 +02:00

3.1 KiB

Service overview — koopa

Live container/port inventory: LIVE.md (state as observed on host).

Diagram

flowchart TB
  subgraph Internet
    Client[Client IPv4/IPv6]
  end

  subgraph VeciGate["VeciGate (MikroTik)"]
    DNAT80["DNAT :80 → koopa:9000"]
    DNAT443["DNAT :443 → koopa:9001"]
    DNATSSH["DNAT :23235 → koopa:22"]
    DNATTOR["DNAT :8080 → koopa:8080"]
  end

  subgraph Host["openSUSE host koopa"]
    subgraph Edge["Edge on host"]
      S80["systemd http-proxy.socket :80"]
      S443["systemd https-proxy.socket :443"]
      CaddyHTTP["Caddy :9000 HTTP\nACME + redirect"]
      CaddyHTTPS["Caddy :9001 HTTPS"]
      FW["firewalld public\n9000,9001,80,8080,ssh"]
    end

    subgraph Podman["podman rootless (hernani)"]
      Merch["taler-hacktivism\n:9010"]
      Exch["taler-hacktivism-exchange-ansible\n:9011"]
      Bank["taler-bank-hacktivism\n:9012"]
      Castopod["koopa-castopod\n:9020"]
      Bonfire["koopa-bonfire\n:9021"]
      Prime["koopa-prime jellyfin\n:9022"]
      BT["qbittorrent\n:9023"]
      Forgejo["koopa-forgejo ROOTLESS\n:9024 HTTP / :9200 SSH"]
    end

    Tor["tor ORPort :8080"]
    SSH["sshd :22"]
  end

  Client --> DNAT80 --> CaddyHTTP
  Client --> DNAT443 --> CaddyHTTPS
  Client --> DNATSSH --> SSH
  Client --> DNATTOR --> Tor

  S80 --> CaddyHTTP
  S443 --> CaddyHTTPS

  CaddyHTTP -->|"/.well-known"| ACME["/var/www/acme"]
  CaddyHTTP -->|other| Redir[301 HTTPS]
  CaddyHTTPS -->|taler.hacktivism.ch| Merch
  CaddyHTTPS -->|exchange.hacktivism.ch| Exch
  CaddyHTTPS -->|bank.hacktivism.ch| Bank
  CaddyHTTPS -->|castopod.hacktivism.ch| Castopod
  CaddyHTTPS -->|bonfire.hacktivism.ch| Bonfire
  CaddyHTTPS -->|prime.hacktivism.ch| Prime
  CaddyHTTPS -->|bt.hacktivism.ch| BT
  CaddyHTTPS -->|git.hacktivism.ch| Forgejo

Port table

Port Listener Backend / notes
22 sshd LAN; WAN via 23235
80 systemd socket → 127.0.0.1:9000
443 systemd socket → 127.0.0.1:9001
9000 caddy HTTP + ACME
9001 caddy HTTPS vhosts
9010 podman merchant nginx
9011 podman exchange httpd
9012 podman bank libeufin
9020 podman castopod
9021 podman bonfire
9022 podman jellyfin (prime)
9023 podman qbittorrent (bt)
9024 podman forgejo HTTP → git.hacktivism.ch
9200 podman forgejo git-SSH (host-direct)
8080 tor ORPort

Full port notes: configs/ports.md.

Service index (details elsewhere)

Service Detail docs
Caddy host/caddy/, configs/caddy/
firewalld host/firewalld/
systemd proxies host/systemd/
Merchant container configs/taler-merchant/, scripts/taler-merchant/
Exchange container configs/taler-exchange/, scripts/taler-exchange/
Forgejo rootless configs/forgejo/, 2026/2026-07-10--forgejo-rootless.md
Tor relay (tor.service) configs/tor/, host/tor/
Tor monitoring scripts scripts/monitoring/
VeciGate NAT ../vecigate-admin-log/ip/firewall/nat/