nym: polish Containerfile, compose, entrypoint, and README.

Host-side binary download notes and compose port mapping clarifications.
This commit is contained in:
Hernâni Marques 2026-07-16 23:50:57 +02:00
parent 3945de5831
commit e7469b47f9
4 changed files with 51 additions and 19 deletions

View file

@ -9,6 +9,7 @@ Mirror in this repo: `configs/nym/`.
|---------|--------|
| Container | `koopa-nym` |
| Image | `localhost/koopa-nym:latest` |
| Process user | **non-root** `nym` **uid/gid 1000** (`USER` + compose `userns_mode: keep-id`) |
| Default mode | **`mixnode`** (safest on a home host; no open-internet exit) |
| Optional modes | `entry-gateway`, `exit-gateway` (+ WireGuard for dVPN) — see env |
| Local ID | `koopa-nym` |
@ -45,12 +46,28 @@ before enabling.
```bash
cd ~/koopa-nym # or this mirror
cp .env.example .env # edit PUBLIC_IPS, LOCATION, MODE
# host data must be writable by uid 1000 (hernani)
mkdir -p data && chown -R "$(id -u):$(id -g)" data
# sync compose + entrypoint from admin-log if this tree is a copy
podman build -t localhost/koopa-nym:latest -f Containerfile .
podman compose up -d # or podman run …
# IMPORTANT: port maps only apply on create — not on plain podman start
podman compose down
podman compose up -d --force-recreate --build
podman exec koopa-nym id # expect uid=1000(nym)
podman port koopa-nym # must list 1789/tcp+udp and 1790/tcp
ss -lntp | grep -E '1789|1790|9080'
# bonding: use Nym wallet / harbourmaster; node must accept operator T&Cs
curl -sS http://127.0.0.1:9080/api/v1/roles | jq .
```
### If WAN `1790` is “connection refused” but `1789` works
Almost always **container publish/bind**, not VeciGate:
1. Old container created without a solid `1790/tcp` map → **recreate** (above).
2. Process bound only on `[::]:1790` while host proxy expects IPv4 → defaults are now **`0.0.0.0:1790`**.
3. Confirm: `podman port koopa-nym` shows `1790/tcp -> 0.0.0.0:1790`, then `nc -vz WAN 1790`.
Secrets layout (values in **koopa-admin-secrets**):
| Live | Secrets mirror |