config: update READMEs and compose files for various services

This commit is contained in:
Hernâni Marques 2026-09-12 21:37:05 +02:00
parent b19b1d3cf6
commit 2eb44c95d9
No known key found for this signature in database
12 changed files with 145 additions and 27 deletions

View file

@ -5,7 +5,7 @@
| Stack | [CryptPad](https://cryptpad.org/) |
| Image | `localhost/koopa-cryptpad:cachyos` |
| Live dir | `/home/hernani/koopa-cryptpad/` |
| Host port | **9030** = Paivana paywall; nginx edge backend **127.0.0.1:19130** → app |
| Host port | **9030** = Paivana paywall; nginx edge backend **172.17.0.1:19130** → app (pasta host IP; Paivana DEST) |
| App ports (internal) | **3000** HTTP, **3003** websocket |
| Public site | `cryptpad.hacktivism.ch` |

View file

@ -3,7 +3,7 @@
# Build: bash ~/koopa-admin-log/scripts/cryptpad/build.sh → localhost/koopa-cryptpad:cachyos
#
# Public :9030 = koopa-paivana-cryptpad (shared paivana image).
# Edge backend loopback only — Paivana DEST → 127.0.0.1:19130
# Edge on pasta host IP — Paivana DEST → 172.17.0.1:19130 (not LAN 0.0.0.0)
# App listens 3000 (http) + 3003 (websocket) inside the net.
services:
cryptpad:
@ -44,7 +44,7 @@ services:
volumes:
- ./edge.conf:/etc/nginx/conf.d/default.conf:ro
ports:
- "127.0.0.1:${BACKEND_PORT:-19130}:80"
- "172.17.0.1:${BACKEND_PORT:-19130}:80"
labels:
org.hacktivism.service: cryptpad-edge
org.hacktivism.host_port: "9030"

View file

@ -58,3 +58,7 @@ Or: Profile → Appearance → theme **hacktivism**, then hard-reload.
### Registration
Public signup is disabled (`DISABLE_REGISTRATION`, no registration button).
### pre-receive: gitleaks + *enc.git gate (TODO320, 2026-09-11)
Live hooks under `~/koopa-forgejo/data/custom/hooks/pre-receive.d/` (gitleaks skip `*enc.git`; `git-crypt-enforce` Klartext-Sperre). Binary `data/custom/bin/gitleaks` v8.21.2. Installer + smoke: laptop `llm-configs/bin/forgejo-hooks/`. Ops note: `2026/2026-09-11--forgejo-gitleaks-enc-gate.md`. New repos → re-run `install-hooks-ht.sh`.

View file

@ -3,7 +3,7 @@
# Build: bash ~/koopa-admin-log/scripts/galene/build.sh → localhost/koopa-galene:cachyos
#
# Public :9029 = koopa-paivana-galene (shared paivana image).
# Backend loopback only — Paivana DEST → 127.0.0.1:19129 (HTTP -insecure).
# Backend on pasta host IP — Paivana DEST → 172.17.0.1:19129 (HTTP -insecure; not LAN 0.0.0.0).
# WebRTC UDP: still published (see README / ports.md)
services:
galene:
@ -17,7 +17,7 @@ services:
- ./data:/data
- ./entrypoint.sh:/docker-entrypoint.sh:ro
ports:
- "127.0.0.1:${BACKEND_PORT:-19129}:8443"
- "172.17.0.1:${BACKEND_PORT:-19129}:8443"
- "${GALENE_UDP_LO:-10000}-${GALENE_UDP_HI:-10099}:${GALENE_UDP_LO:-10000}-${GALENE_UDP_HI:-10099}/udp"
labels:
org.hacktivism.service: galene

View file

@ -1,7 +1,7 @@
# koopa-meet — Jitsi Meet (CachyOS web stub + follow-up signaling/media)
# Live: /home/hernani/koopa-meet/
# Public :9031 = koopa-paivana-meet (shared paivana image).
# Backend loopback only — Paivana DEST → 127.0.0.1:19131
# Backend on pasta host IP — Paivana DEST → 172.17.0.1:19131 (not LAN 0.0.0.0)
#
# Next: add prosody / jicofo / jvb services (CachyOS images or pinned binaries).
# Official docker-jitsi-meet is Debian-based — do not pull those as default here.
@ -16,7 +16,7 @@ services:
environment:
- TZ=Europe/Zurich
ports:
- "127.0.0.1:${BACKEND_PORT:-19131}:80"
- "172.17.0.1:${BACKEND_PORT:-19131}:80"
labels:
org.hacktivism.service: meet
org.hacktivism.backend_port: "${BACKEND_PORT:-19131}"

View file

@ -3,7 +3,7 @@
# Build: bash ~/koopa-admin-log/scripts/notes/build.sh → localhost/koopa-silverbullet:cachyos
#
# Public :9028 = koopa-paivana-silverbullet (shared paivana image).
# Backend loopback only — Paivana DEST → 127.0.0.1:19128
# Backend on pasta host IP — Paivana DEST → 172.17.0.1:19128 (not LAN 0.0.0.0)
services:
notes:
image: localhost/koopa-silverbullet:cachyos
@ -26,7 +26,7 @@ services:
volumes:
- ./space:/space
ports:
- "127.0.0.1:${BACKEND_PORT:-19128}:3000"
- "172.17.0.1:${BACKEND_PORT:-19128}:3000"
labels:
org.hacktivism.service: silverbullet
org.hacktivism.host_port: "9028"

View file

@ -13,9 +13,9 @@ paywalls on **90289031** (Caddy unchanged). App backends listen loopback only
| Live | `/home/hernani/koopa-paivana/` |
| Containers | `koopa-paivana`, `koopa-paivana-{silverbullet,galene,cryptpad,meet}`, `koopa-paivana-upstream` |
| Image | `localhost/koopa-paivana:latest` (built from `Containerfile`); process **uid 1000** `paivana-httpd` |
| Upstream | portal: `nginxinc/nginx-unprivileged` on **:8080**; apps via host `172.17.0.1:1912819131` |
| Upstream | portal: `nginxinc/nginx-unprivileged` on **:8080**; apps via pasta host IP `172.17.0.1:1912819131` (compose publish, not `127.0.0.1`) |
| Host ports | **9025** portal; **9028/9029/9030/9031** app paywalls → Caddy |
| Currency | **GOA** (goa-shop); other units need other merchant backends / later instances |
| Currency | **multi** via goa-shop template `paivana` choices (CHF / FLOODS / GOA / TESTPAYSAN); wallet still filters by held coins |
| Merchant | `https://taler.hacktivism.ch/instances/goa-shop/` |
| Template | `paivana` (`template_type: paivana`, amount **`GOA:42`**, `website_regex: .*`) |
| Access | **`-g`** site-wide: pay once → that hostname free to browse |
@ -161,8 +161,7 @@ curl -X POST 'https://taler.hacktivism.ch/instances/goa-shop/private/templates'
}'
```
goa-shop is GOA-only. TESTPAYSAN / FLOODS / talersticker CHF / stage-CHF need
other `MERCHANT_BACKEND_URL` values (separate Paivana process or later phase).
goa-shop template `paivana` exposes multi-currency **choices**. Wallet/UI still only offers currencies the wallet holds. Live conf must use `instances/goa-shop/` + matching merchant token (not `goa-demo-*`).
## Docs

View file

@ -7,8 +7,8 @@
# 9029 → paywall galene
# 9030 → paywall cryptpad
# 9031 → paywall meet (Jitsi web)
# App backends (loopback only; see app compose):
# 127.0.0.1:19128 / 19129 / 19130 / 19131
# App backends on pasta host IP (see app compose; not LAN 0.0.0.0):
# 172.17.0.1:19128 / 19129 / 19130 / 19131
x-paivana-common: &paivana-common
image: localhost/koopa-paivana:latest
@ -26,7 +26,7 @@ x-paivana-common: &paivana-common
- ./secrets/paivana-secret:/run/secrets/paivana-secret:ro
labels:
org.hacktivism.managed_by: koopa-admin
org.hacktivism.currency: GOA
org.hacktivism.currency: multi
services:
paivana:
@ -47,7 +47,7 @@ services:
org.hacktivism.host_port: "9025"
org.hacktivism.site: paivana.hacktivism.ch
org.hacktivism.managed_by: koopa-admin
org.hacktivism.currency: GOA
org.hacktivism.currency: multi
# App paywalls: same image/secrets; BASE/DEST via env. Caddy still hits 90289031.
paivana-silverbullet:
@ -63,7 +63,7 @@ services:
org.hacktivism.host_port: "9028"
org.hacktivism.site: silverbullet.hacktivism.ch
org.hacktivism.managed_by: koopa-admin
org.hacktivism.currency: GOA
org.hacktivism.currency: multi
paivana-galene:
<<: *paivana-common
@ -78,7 +78,7 @@ services:
org.hacktivism.host_port: "9029"
org.hacktivism.site: galene.hacktivism.ch
org.hacktivism.managed_by: koopa-admin
org.hacktivism.currency: GOA
org.hacktivism.currency: multi
paivana-cryptpad:
<<: *paivana-common
@ -93,7 +93,7 @@ services:
org.hacktivism.host_port: "9030"
org.hacktivism.site: cryptpad.hacktivism.ch
org.hacktivism.managed_by: koopa-admin
org.hacktivism.currency: GOA
org.hacktivism.currency: multi
paivana-meet:
<<: *paivana-common
@ -108,7 +108,7 @@ services:
org.hacktivism.host_port: "9031"
org.hacktivism.site: meet.hacktivism.ch
org.hacktivism.managed_by: koopa-admin
org.hacktivism.currency: GOA
org.hacktivism.currency: multi
upstream:
image: docker.io/nginxinc/nginx-unprivileged:1.27-alpine

View file

@ -45,7 +45,7 @@
<h1>hacktivism tools</h1>
<p>
You paid once via GNU Taler / Paivana
(<strong class="price">GOA:42</strong> on this merchant).
(template <code>paivana</code> on <code>goa-shop</code>: CHF / FLOODS / GOA / TESTPAYSAN choices).
Site-wide access cookie is set for <code>paivana.hacktivism.ch</code>.
</p>
<div class="card sites">
@ -58,7 +58,7 @@
<p><strong>Notes</strong></p>
<ul>
<li>One Paivana process = one <code>DESTINATION_BASE_URL</code> → this portal is the gated upstream.</li>
<li>Merchant: <code>goa-shop</code> · template <code>paivana</code>.</li>
<li>Merchant: <code>goa-shop</code> · template <code>paivana</code> (multi-currency choices).</li>
<li>Host: <code>https://paivana.hacktivism.ch/</code></li>
</ul>
</div>

View file

@ -19,10 +19,10 @@
| **9025** | podman **`koopa-paivana`** (portal paywall) → Caddy **`paivana.hacktivism.ch`** |
| **9026** | podman **`koopa-lemmy-proxy`** → Caddy **`lemmy.hacktivism.ch`** |
| **9027** | podman **`koopa-decidim`** → Caddy **`decidim.hacktivism.ch`** |
| **9028** | podman **`koopa-paivana-silverbullet`** → Caddy **`silverbullet.hacktivism.ch`** (app backend `127.0.0.1:19128`) |
| **9029** | podman **`koopa-paivana-galene`** → Caddy **`galene.hacktivism.ch`** (app backend `127.0.0.1:19129`; UDP 1000010099 still Galene) |
| **9030** | podman **`koopa-paivana-cryptpad`** → Caddy **`cryptpad.hacktivism.ch`** (edge backend `127.0.0.1:19130`) |
| **9031** | podman **`koopa-paivana-meet`** → Caddy **`meet.hacktivism.ch`** (app backend `127.0.0.1:19131`) |
| **9028** | podman **`koopa-paivana-silverbullet`** → Caddy **`silverbullet.hacktivism.ch`** (app backend `172.17.0.1:19128`) |
| **9029** | podman **`koopa-paivana-galene`** → Caddy **`galene.hacktivism.ch`** (app backend `172.17.0.1:19129`; UDP 1000010099 still Galene) |
| **9030** | podman **`koopa-paivana-cryptpad`** → Caddy **`cryptpad.hacktivism.ch`** (edge backend `172.17.0.1:19130`) |
| **9031** | podman **`koopa-paivana-meet`** → Caddy **`meet.hacktivism.ch`** (app backend `172.17.0.1:19131`) |
| **9032** | podman **`koopa-bbb-front`** (Ubuntu) → Caddy **`bbb.hacktivism.ch`** |
| **9200** | podman **Forgejo git-SSH** (host-direct; not Caddy) |
| 90909092 | podman `koopa-tops-ng1``ng3` → Caddy `tops.ng{1,2,3}.hacktivism.ch` |