docs: tops compose refresh and configs inventory index.
Update tops stack notes and configs/README service listing.
This commit is contained in:
parent
85d4e05ef0
commit
360fb363de
3 changed files with 19 additions and 14 deletions
|
|
@ -10,11 +10,15 @@ Directories are named to match **live podman container names** where possible.
|
||||||
| `taler-exchange-ansible/` | **`taler-hacktivism-exchange-ansible`** | `taler-hacktivism-exchange-ansible:landing` |
|
| `taler-exchange-ansible/` | **`taler-hacktivism-exchange-ansible`** | `taler-hacktivism-exchange-ansible:landing` |
|
||||||
| `bank-landing/` `exchange-landing/` `merchant-landing/` | nginx landing snippets | ports 9013–9015 |
|
| `bank-landing/` `exchange-landing/` `merchant-landing/` | nginx landing snippets | ports 9013–9015 |
|
||||||
| `koopa-*` apps | `koopa-castopod`, `koopa-bonfire`, … | compose mirrors |
|
| `koopa-*` apps | `koopa-castopod`, `koopa-bonfire`, … | compose mirrors |
|
||||||
| `tops/` | `koopa-tops-ng1` … `ng3` | `nginx:1.27-alpine` |
|
| `tops/` | `koopa-tops-ng1` … `ng3` | `nginxinc/nginx-unprivileged:1.27-alpine` (non-root, :8080) |
|
||||||
| `caddy/` `firewalld/` `systemd/` | host services | |
|
| `caddy/` `firewalld/` `systemd/` | host services | |
|
||||||
| `tor/` | **`koopa-tor-relay`** (podman host net) | `localhost/koopa-tor-relay:latest` |
|
| `tor/` | **`koopa-tor-relay`** (podman host net) | `localhost/koopa-tor-relay:latest` (**non-root** uid 1000) |
|
||||||
| `nym/` | **`koopa-nym`** (nym.com nym-node) | `localhost/koopa-nym:latest` |
|
| `nym/` | **`koopa-nym`** (nym.com nym-node) | `localhost/koopa-nym:latest` (**non-root** uid 1000) |
|
||||||
| `paivana/` | **`koopa-paivana`** (+ upstream) | `localhost/koopa-paivana:latest` |
|
| `paivana/` | **`koopa-paivana`** (+ upstream) | `localhost/koopa-paivana:latest` (**non-root**); upstream unprivileged nginx |
|
||||||
|
| `forgejo/` | **`koopa-forgejo`** | rootless image + `user: 1000` + `userns keep-id` |
|
||||||
|
| `prime/` | jellyfin / qbittorrent | linuxserver **PUID/PGID=1000** |
|
||||||
|
|
||||||
|
**Container process privilege policy:** service processes must not run as root inside the container when we control the image/compose. Pattern: uid/gid **1000** + rootless podman **`userns_mode: keep-id`** (see forgejo/nym/tor/paivana). Official DB images already drop to `postgres`/`redis`/`mysql`. Exceptions: **`taler-exchange-ansible`** (lab image with root SSH — not production service), third-party app images without a rootless variant (bonfire/castopod — track upstream).
|
||||||
|
|
||||||
**Authoritative running inventory:** `host/overview/LIVE.md`.
|
**Authoritative running inventory:** `host/overview/LIVE.md`.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
|------|--------|
|
|------|--------|
|
||||||
| Live | `/home/hernani/koopa-tops/` |
|
| Live | `/home/hernani/koopa-tops/` |
|
||||||
| Containers | `koopa-tops-ng1`, `koopa-tops-ng2`, `koopa-tops-ng3` |
|
| Containers | `koopa-tops-ng1`, `koopa-tops-ng2`, `koopa-tops-ng3` |
|
||||||
| Image | `docker.io/library/nginx:1.27-alpine` |
|
| Image | `docker.io/nginxinc/nginx-unprivileged:1.27-alpine` (non-root, container port **8080**) |
|
||||||
| Compose | `compose.yml` (this dir) |
|
| Compose | `compose.yml` (this dir) |
|
||||||
| Secrets | none |
|
| Secrets | none |
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,13 +2,14 @@
|
||||||
# Live: /home/hernani/koopa-tops/
|
# Live: /home/hernani/koopa-tops/
|
||||||
# Usage: cd ~/koopa-tops && podman compose -f deploy/compose.yml up -d
|
# Usage: cd ~/koopa-tops && podman compose -f deploy/compose.yml up -d
|
||||||
|
|
||||||
|
# nginxinc/nginx-unprivileged: process is non-root; listens on 8080 (not 80).
|
||||||
services:
|
services:
|
||||||
tops-ng1:
|
tops-ng1:
|
||||||
image: docker.io/library/nginx:1.27-alpine
|
image: docker.io/nginxinc/nginx-unprivileged:1.27-alpine
|
||||||
container_name: koopa-tops-ng1
|
container_name: koopa-tops-ng1
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
ports:
|
ports:
|
||||||
- "9090:80"
|
- "9090:8080"
|
||||||
volumes:
|
volumes:
|
||||||
- ../ng1:/usr/share/nginx/html:ro
|
- ../ng1:/usr/share/nginx/html:ro
|
||||||
labels:
|
labels:
|
||||||
|
|
@ -17,17 +18,17 @@ services:
|
||||||
org.hacktivism.site: tops.ng1.hacktivism.ch
|
org.hacktivism.site: tops.ng1.hacktivism.ch
|
||||||
org.hacktivism.managed_by: koopa-admin
|
org.hacktivism.managed_by: koopa-admin
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ["CMD", "wget", "-q", "-O", "/dev/null", "http://127.0.0.1/"]
|
test: ["CMD", "wget", "-q", "-O", "/dev/null", "http://127.0.0.1:8080/"]
|
||||||
interval: 30s
|
interval: 30s
|
||||||
timeout: 5s
|
timeout: 5s
|
||||||
retries: 3
|
retries: 3
|
||||||
|
|
||||||
tops-ng2:
|
tops-ng2:
|
||||||
image: docker.io/library/nginx:1.27-alpine
|
image: docker.io/nginxinc/nginx-unprivileged:1.27-alpine
|
||||||
container_name: koopa-tops-ng2
|
container_name: koopa-tops-ng2
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
ports:
|
ports:
|
||||||
- "9091:80"
|
- "9091:8080"
|
||||||
volumes:
|
volumes:
|
||||||
- ../ng2:/usr/share/nginx/html:ro
|
- ../ng2:/usr/share/nginx/html:ro
|
||||||
labels:
|
labels:
|
||||||
|
|
@ -36,17 +37,17 @@ services:
|
||||||
org.hacktivism.site: tops.ng2.hacktivism.ch
|
org.hacktivism.site: tops.ng2.hacktivism.ch
|
||||||
org.hacktivism.managed_by: koopa-admin
|
org.hacktivism.managed_by: koopa-admin
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ["CMD", "wget", "-q", "-O", "/dev/null", "http://127.0.0.1/"]
|
test: ["CMD", "wget", "-q", "-O", "/dev/null", "http://127.0.0.1:8080/"]
|
||||||
interval: 30s
|
interval: 30s
|
||||||
timeout: 5s
|
timeout: 5s
|
||||||
retries: 3
|
retries: 3
|
||||||
|
|
||||||
tops-ng3:
|
tops-ng3:
|
||||||
image: docker.io/library/nginx:1.27-alpine
|
image: docker.io/nginxinc/nginx-unprivileged:1.27-alpine
|
||||||
container_name: koopa-tops-ng3
|
container_name: koopa-tops-ng3
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
ports:
|
ports:
|
||||||
- "9092:80"
|
- "9092:8080"
|
||||||
volumes:
|
volumes:
|
||||||
- ../ng3:/usr/share/nginx/html:ro
|
- ../ng3:/usr/share/nginx/html:ro
|
||||||
labels:
|
labels:
|
||||||
|
|
@ -55,7 +56,7 @@ services:
|
||||||
org.hacktivism.site: tops.ng3.hacktivism.ch
|
org.hacktivism.site: tops.ng3.hacktivism.ch
|
||||||
org.hacktivism.managed_by: koopa-admin
|
org.hacktivism.managed_by: koopa-admin
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ["CMD", "wget", "-q", "-O", "/dev/null", "http://127.0.0.1/"]
|
test: ["CMD", "wget", "-q", "-O", "/dev/null", "http://127.0.0.1:8080/"]
|
||||||
interval: 30s
|
interval: 30s
|
||||||
timeout: 5s
|
timeout: 5s
|
||||||
retries: 3
|
retries: 3
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue