# 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 (avond) - Relay gebouwd en in gebruik; het plan is af De gebruiker bouwde en duwde de Relay-image; ook deze slaagde in één keer, ondanks apt en `www-data`. Digest drie keer in de compose, update gedaan, pagina toont v0.6.0 en een sync werkt. Niet herinstalleerd, want de database moest blijven; de zes achtergebleven programmabestanden zijn met de hand uit de app-datamap gehaald. Daarmee is Eigenimage voor beide apps af en verhuist de map naar `Archief/`. Gevolg voor de rest: de pin-taak in **Umbrelapp** is vervallen, **Publicatie-Relay** wacht niet meer op "een image die te pinnen valt", en het enige dat er nog aan de images ontbreekt voor publicatie is `linux/arm64`. ## 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.