Plan Eigenimage, fase 5, op keuze van de gebruiker: een image met de relay erbij en geen tweede recept. agent.py, nginx.conf en index.html verhuizen naar tools/evolu-relay/ naast src/; de Dockerfile blijft op node:24-slim en haalt nginx en python3 uit apt. Drie containers uit een image: de relay als node via de compose, de agent en nginx als root. Anders dan alleen verplaatst: user www-data in nginx.conf (Debian heeft geen gebruiker nginx), geen USER meer in de image, de versie in de kop via api/status met RELAY_APP_VERSION. VERSION 0.6.0, manifest 0.6.0, drie keer dezelfde tag in de compose, ongepind tot de eerste push. Tests mee verhuisd; de vormtest toetst de drie tags tegen VERSION. Niet gebouwd: er is hier geen Docker. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
78 lines
5.0 KiB
Markdown
78 lines
5.0 KiB
Markdown
# Voortgang - Eigenimage
|
|
|
|
> Chronologisch sessielog, nieuwste bovenaan. Kort: 3 tot 6 regels per entry. Wat er is gebeurd en
|
|
> waarom, niet wat er nog moet: dat staat in [TAKEN.md](TAKEN.md).
|
|
|
|
## 08-09-2026 (later) - Evolu Relay: alles in één image, in de repo klaar
|
|
|
|
Direct erna, op verzoek van de gebruiker en met zijn keuze: één image met de relay erbij, geen tweede
|
|
recept. De drie templates zijn met `git mv` naar `tools/evolu-relay/` gegaan, naast `src/`; de Dockerfile
|
|
blijft op `node:24-slim` (om `better-sqlite3`) en haalt nginx en python3 uit apt. Twee dingen die Debian
|
|
anders doet dan de nginx-image en die je moet kennen: geen gebruiker `nginx` (dus `www-data`), en geen
|
|
`USER` meer in de image, zodat de compose de relay met `user: node` laat draaien en de andere twee als root.
|
|
|
|
De versie in de kop loopt nu via `api/status`, zoals bij Gate. Versie 0.6.0 in manifest, `VERSION` en drie
|
|
keer in de compose, ongepind. Tests: alle zes groen, niets overgeslagen; de vormtest toetst de drie tags
|
|
tegen `VERSION`. In de voorbeeldpagina staat v0.6.0 in de kop. **Niet geverifieerd: de image**, en dit is
|
|
de eerste met apt erin. Bouwen is aan de gebruiker.
|
|
|
|
## 08-09-2026 - gebouwd, gepind, geïnstalleerd: Gate draait op zijn eigen image
|
|
|
|
De gebruiker bouwde en duwde de image op de Umbrel; de bouw slaagde in één keer, dus de zorg over `apk add
|
|
python3` en de paden in de Dockerfile was ongegrond. Digest `sha256:97fee09b…7cfd8f`, twee keer in de
|
|
compose gezet, en de anonieme pull gaf dezelfde digest terug. Daarna geüpdatet, en de gebruiker heeft de
|
|
app ook gedeïnstalleerd en opnieuw geïnstalleerd zodat de oude templates uit de app-datamap zijn. De pagina
|
|
toont v0.1.0, dus de weg via `status.json` werkt. Voor Electrum Gate is dit plan af; bij die app is niets
|
|
meer over van `python:3-alpine` en `nginx:alpine`. Volgende stap is Evolu Relay, §8.
|
|
|
|
## 07-09-2026 - fase 1 tot en met 3 in één sessie: het recept staat, de app-map is leeg
|
|
|
|
Op verzoek van de gebruiker opgepakt, direct na Relay 0.5.6. De vier templates zijn met `git mv` naar
|
|
`tools/electrum-gate/` verhuisd en heten daar gewoon `agent.py`, `nginx.conf`, `stream.conf` en
|
|
`index.html`. Daarnaast nieuw: `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. Open punt 2
|
|
en 3 zijn beslist: één image, gebouwd op de Umbrel.
|
|
|
|
Wat er inhoudelijk veranderde en niet alleen verhuisde: het `log_format` staat nu in `stream.conf` zelf,
|
|
het backend-adres komt via twee plaatshouders zonder dollarteken uit de omgeving (ook de server-service
|
|
krijgt ze nu), en de pagina haalt versie en adres uit `status.json`, waarvoor de agent `GATE_APP_VERSION`
|
|
doorgeeft. De compose is voor het eerst sinds 0.0.3 zonder shellblok.
|
|
|
|
Tests: alle zes groen, niets overgeslagen. Drie mutaties (het `exec` voor nginx weg, `ENTRYPOINT []` weg,
|
|
één tag in de compose verhoogd) lieten precies de bedoelde toetsen omvallen, ook de nieuwe in
|
|
`test_appstore_vorm.py`. **Niet geverifieerd: de image zelf.** Er is hier geen Docker, dus of `apk add
|
|
python3` het gedraagt zoals gedacht en of de container start, blijkt pas bij fase 4 op de Umbrel.
|
|
Electrum Gate staat op 0.1.0 in het manifest, met de tag ongepind tot de eerste push.
|
|
|
|
## 27-08-2026 - het register is beslist, en daarna ging de aandacht naar Evolu Relay
|
|
|
|
Open punt 1 beantwoord: **voor nu Gitea, bij inlevering opnieuw kijken.** De twee bezwaren die dat punt
|
|
opriep, het domein in een publiek pakket en andermans installaties die aan de thuisserver hangen, gelden
|
|
allebei pas bij inlevering, en de gebruiker is daar uitdrukkelijk nog niet aan toe: dit is voorlopig zijn
|
|
eigen app voor eigen gebruik.
|
|
|
|
Daarmee is de enige vraag weg die vóór het bouwen beantwoord moest zijn, en kan fase 1 zo beginnen. Wat er
|
|
bij het antwoord hoort en niet vergeten mag worden staat in [OPEN.md](OPEN.md): bij inlevering moet het
|
|
register opnieuw beoordeeld worden, en de opmerking van de gebruiker dat umbrelOS een eigen register zou
|
|
toestaan is niet nagetrokken.
|
|
|
|
**Het plan ligt daarna meteen stil**, op zijn verzoek: hij gaat eerst verder met Evolu Relay, die getest
|
|
moet worden en op dit moment uitstaat. Er is aan dit plan nog niets gebouwd, dus er ligt ook niets half af.
|
|
|
|
**Geraakt:** alleen documentatie. **Tests:** niet van toepassing.
|
|
|
|
## 27-08-2026 - gepromoveerd naar Actief, er is nog niets gebouwd
|
|
|
|
Het masterplan is omgezet naar een plan onder `Actief/` met nummer 006, direct nadat **Webinterface**
|
|
afgerond en naar tier B gezakt was. Dat was de volgorde die de gebruiker diezelfde dag afsprak toen het
|
|
plan geschreven werd.
|
|
|
|
Er is aan de app zelf nog **niets** gedaan. Wat hier ligt is ontwerp: de inventaris van wat er vandaag uit
|
|
`app-data` gemount wordt, wat een eigen image wel en niet oplevert, en wat het kost. De drie open
|
|
beslissingen uit §7 zijn naar [OPEN.md](OPEN.md) verhuisd.
|
|
|
|
Het eerste wat er moet gebeuren is geen bouwtaak maar open punt 1: blijft het Gitea-register ook bij
|
|
publicatie de bron. Dat bepaalt waar het bouwrecept naartoe duwt.
|
|
|
|
**Geraakt:** alleen documentatie. **Tests:** niet van toepassing.
|