Gate 0.1.0: eigen image, het command-blok is een script, de app-map is leeg

Plan Eigenimage, fase 1 tot en met 3. De vier templates verhuizen naar
tools/electrum-gate/ zonder extensie; daarnaast Dockerfile (nginx:1.30-alpine
plus python3), entrypoint.sh (het command-blok van de compose, zonder $$) en
build.sh naar het voorbeeld van Evolu Relay. Een image voor beide containers,
gebouwd op de Umbrel; open punt 2 en 3 daarmee beslist.

Inhoudelijk anders dan alleen verplaatst: het log_format staat in stream.conf
zelf, het backend-adres komt via twee plaatshouders zonder dollarteken uit de
omgeving (ook in de server-service), en de pagina haalt versie en adres uit
status.json via GATE_APP_VERSION.

Tests mee verhuisd en uitgebreid: entrypoint.sh en Dockerfile in plaats van het
command-blok, en de tag in de compose gelijk aan VERSION in build.sh voor elke
eigen image. Mutatie-getest met drie ingrepen.

Nog niet gebouwd: er is hier geen Docker. De tag staat ongepind tot de eerste
push; dat is fase 4 en die is van de gebruiker.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
Harmen
2026-09-07 20:20:42 +02:00
co-authored by Claude Fable 5.1
parent 7b3804df89
commit 973b24a23f
25 changed files with 981 additions and 410 deletions
+14 -8
View File
@@ -12,17 +12,23 @@
## Nog te beslissen
2. **Eén image of twee?** [PLAN.md](PLAN.md) §6 stelt één voor: de agent en nginx blijven twee containers,
maar ze delen één image. Twee images is netter gescheiden en verdubbelt het bouwwerk en het pinwerk.
**Moment:** bij de start van het werk · **Eigenaar:** sessie, met de gebruiker mee
3. **Waar wordt gebouwd?** Op de Umbrel staat Docker, maar dat is een productiemachine en hij is amd64,
terwijl arm64 ook een eis is. Bouwen op de werkplek van de gebruiker vraagt daar Docker. Dit hangt samen
met de multi-arch-stap uit §4 van het plan, die nog nooit geprobeerd is.
**Moment:** bij de start van het werk · **Eigenaar:** gebruiker
Niets.
## Beslist
2. **Eén image of twee?** - **Eén** (07-09-2026, sessie, volgens het voorstel in [PLAN.md](PLAN.md) §6).
De agent en nginx blijven twee containers met dezelfde image; de compose geeft de agent een eigen
`command`. Basis is `nginx:1.30-alpine` met `python3` uit apk, en niet andersom: de officiële
nginx-image heeft de stream-module ingebouwd, bij alpine's eigen nginx is dat een los pakket.
**Moment:** afgerond · **Eigenaar:**
3. **Waar wordt gebouwd?** - **Op de Umbrel** (07-09-2026), om een eenvoudige reden: het is de enige
machine met Docker; de werkplek heeft het niet. Dat het een productiemachine is weegt minder dan dat
het de plek is waar Evolu Relay ook al gebouwd wordt. Gevolg: één architectuur, amd64, en dat is voor
eigen gebruik genoeg. Multi-arch zit in `build.sh` als schakelaar (`PLATFORMS=...`) en is werk voor
**Publicatie-Gate**; het is nog nooit geprobeerd.
**Moment:** afgerond · **Eigenaar:**
1. **Blijft het Gitea-register ook bij publicatie de bron?** - **Voor nu Gitea, bij inlevering opnieuw
kijken** (27-08-2026, gebruiker).