# Port map (see also host/overview/services.md)

| Port | Role |
|------|------|
| 22 | sshd (WAN often via VeciGate 23235) |
| 80 | systemd `http-proxy.socket` → Caddy **9000** |
| 443 | systemd `https-proxy.socket` → Caddy **9001** |
| 9000 | Caddy HTTP + ACME webroot |
| 9001 | Caddy HTTPS (vhosts) |
| 9010 | podman `taler-hacktivism` (merchant) |
| 9011 | podman **`taler-hacktivism-exchange-ansible`** (exchange) |
| 9012 | podman `taler-hacktivism-bank` (libeufin-bank) |
| 9013–9015 | bank / exchange / merchant public landings |
| 9020 | podman `koopa-castopod` → Caddy `castopod.hacktivism.ch` |
| 9021 | podman `koopa-bonfire` → Caddy `bonfire.hacktivism.ch` |
| 9022 | podman `koopa-prime` (Jellyfin) → Caddy `prime.hacktivism.ch` |
| 9023 | podman qBittorrent → Caddy `bt.hacktivism.ch` |
| **9024** | podman **`koopa-forgejo`** (HTTP) → Caddy **`git.hacktivism.ch`** |
| **9025** | podman **`koopa-paivana`** (paivana-httpd) → Caddy **`paivana.hacktivism.ch`** |
| **9200** | podman **Forgejo git-SSH** (host-direct; not Caddy) |
| 9090–9092 | podman `koopa-tops-ng1` … `ng3` → Caddy `tops.ng{1,2,3}.hacktivism.ch` |
| 8080 | Tor ORPort |

VeciGate: WAN **80→9000**, WAN **443→9001**.  
Public apps: Caddy vhosts on **9001** → 127.0.0.1:{9010–9015, 9020–9025, 9090–9092}.  
Git SSH needs separate NAT/firewall **9200/tcp** if exposed to WAN.

| **1789** | podman **`koopa-nym`** mixnet (nym.com nym-node) |
| **1790** | podman **`koopa-nym`** verloc |
| **9080** | podman **`koopa-nym`** HTTP API (mapped from container 8080; Tor keeps **8080**) |
| **19000** | optional nym entry WS (gateway mode) |
| **51822/udp** | optional nym WireGuard (dVPN path) |

