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:
co-authored by
Claude Fable 5.1
parent
7b3804df89
commit
973b24a23f
@@ -8,6 +8,41 @@ Wat er nog moet gebeuren staat **niet** hier maar in de plannen; zie [CONTINUE_H
|
||||
Een lijst met geplande features op twee plekken loopt uit elkaar, en dan is geen van beide meer te
|
||||
vertrouwen.
|
||||
|
||||
## [0.1.0] - 2026-09-07
|
||||
|
||||
**Nog niet gebouwd.** De compose verwijst naar `sc.kamenier-hamer.nl/sysop/electrum-gate:0.1.0` zonder
|
||||
digest; die komt erbij zodra de gebruiker de image op de Umbrel gebouwd en geduwd heeft. Tot die tijd is
|
||||
dit een versie in de repo en niet op het apparaat.
|
||||
|
||||
### Changed
|
||||
|
||||
- **De app heeft een eigen image**, gebouwd uit `tools/electrum-gate/` met `build.sh`, op basis van
|
||||
`nginx:1.30-alpine` plus `python3`. Eén image voor beide containers; de compose start hem als `server`
|
||||
met het standaardcommando en als `agent` met `python3 /app/agent.py`. Tot nu draaide de app op
|
||||
`python:3-alpine` en `nginx:alpine` met zijn eigen bestanden als `*.template` uit de app-map gemount.
|
||||
Waarom, staat in het plan **Eigenimage**, `PLAN.md` §3; het korte antwoord is dat de programmacode nu
|
||||
niet meer in de app-data staat, en dat het startscript weer leesbaar is.
|
||||
- **Het `command`-blok van de compose is `entrypoint.sh` in de image.** Ruim honderd regels shell in een
|
||||
YAML-string, met elk dollarteken verdubbeld omdat umbreld anders elke `${...}` leegmaakte, is nu een
|
||||
gewoon script. Zelfde gedrag: TLS aan of uit naar de toestand van `cert.conf`, de verbindingsteller uit
|
||||
`/proc/net/tcp`, de herlaadlus met vangnettak, en `exec nginx` als laatste regel.
|
||||
- **Het `log_format` staat in `stream.conf` zelf.** Het stond in een los bestand dat het `command`-blok
|
||||
wegschreef, omdat een dollarteken in een template niet mocht. Die omweg is weg.
|
||||
- **Het backend-adres komt uit de omgeving, in beide containers.** `stream.conf` heeft twee plaatshouders
|
||||
zonder dollarteken die `entrypoint.sh` bij het starten invult; de server-service krijgt daarvoor dezelfde
|
||||
`GATE_ELECTRUM_HOST` en `GATE_ELECTRUM_PORT` als de agent.
|
||||
- **De pagina haalt de versie en het backend-adres uit `status.json`.** umbreld vulde die tot nu
|
||||
rechtstreeks in de pagina in; nu de pagina in de image zit, geeft de compose `APP_VERSION` aan de agent
|
||||
door als `GATE_APP_VERSION`, en zet de agent `version` in de status. Ontbreekt hij, dan toont de kop
|
||||
geen versie in plaats van een verzonnen.
|
||||
- **`icon.png` is updatebaar**, want de image kopieert hem uit de app-map. Het bestand blijft ook daar
|
||||
staan, want het manifest wijst ernaar voor de tegel in de winkel.
|
||||
|
||||
### Removed
|
||||
|
||||
- De vier `*.template`-bestanden en hun mounts uit de app-map. Wat er overblijft: `docker-compose.yml`,
|
||||
`umbrel-app.yml`, `icon.png` en `data/`.
|
||||
|
||||
## [0.0.29] - 2026-09-04
|
||||
|
||||
### Changed
|
||||
|
||||
Reference in New Issue
Block a user