koopa-admin-log/host/overview/services.md
Hernâni Marques fa0f37e58d
docs: Tor relay mirror (configs/tor) and host index
Document KoopaRelay ORPort 8080 / ControlPort 9051; README + host/tor
pointer. torrc already matched live /etc/tor/torrc.
2026-07-10 15:12:02 +02:00

96 lines
3 KiB
Markdown

# Service overview — koopa
## Diagram
```mermaid
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-exchange-hacktivism\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/` |