Files
UmbrelApps/Docs/Plannen/Actief/004-Eigenimage/OPEN.md
T
HarmenandClaude Fable 5.1 973b24a23f 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>
2026-09-07 20:20:42 +02:00

55 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Open punten - Eigenimage
> Beslissingen die nog een **eigenaar** of een **moment** nodig hebben. Staat een punt hier zonder
> allebei, dan is dat de eerste fout om op te lossen. Wordt een punt een taak, dan verhuist het naar
> [TAKEN.md](TAKEN.md).
>
> **Nummers blijven staan**, ook als een punt beslist is: er kan elders naar verwezen worden, ook vanuit
> codecommentaar. Beslissen betekent verplaatsen naar de kop hieronder, niet hernummeren.
>
> Deze drie punten stonden als §7 in het masterplan en zijn bij de promotie op 27-08-2026 hierheen
> verhuisd.
## Nog te beslissen
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).
De twee bezwaren die dit punt opriep gelden allebei pas bij inlevering, en dat is niet aan de orde: "dit
is echt mijn eigen app voor eigen gebruik, ik ben nog niet toe aan publiceren." Het domein van de
gebruiker staat dan in een pakket dat niemand aangeboden krijgt, en de enige die een image van zijn
thuisserver haalt is hij zelf. Daarmee vervallen ze niet, ze zijn alleen nog niet actueel.
**Wat dat voor dit plan betekent:** `build.sh` duwt naar `sc.kamenier-hamer.nl/sysop/...`, net als bij
Evolu Relay, en de compose pint op een digest daaruit. Het bouwrecept hoeft er niet omheen ontworpen te
worden dat het register later kan wisselen; een register wisselen is één regel in `build.sh` en één in
de compose, plus een versieverhoging.
**Wat er wél voor terugkomt is een taak in Publicatie-Gate en niet hier.** Bij inlevering moet het
register opnieuw beoordeeld worden, samen met het kaal maken van het app-id en het pinnen; dat zijn
toch al drie dingen die een herinstallatie vragen en die je één keer wilt doen. De gebruiker noemde er
nog iets bij dat de moeite van het uitzoeken waard is voordat het zover is: **umbrelOS zou een eigen
register toestaan.** Dat is niet nagetrokken, en het is precies het soort aanname dat je niet wilt
ontdekken op het moment van inleveren.
De spec zoals we hem kennen eist alleen `registry/repo:versie-of-commit@sha256:<digest>` met beide
architecturen erin, en zegt niets over wélk register. Naar de letter mag Gitea dus ook dan.
**Moment:** afgerond voor dit plan; het vervolg hoort bij **Publicatie-Gate** · **Eigenaar:**