Relay 0.6.0: alles in een image, de app-map is leeg
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>
This commit is contained in:
co-authored by
Claude Fable 5.1
parent
0e824a6354
commit
a694a9cbd1
@@ -26,8 +26,8 @@ Deze gelden voor élke app hier, want het zijn eigenschappen van umbrelOS. Met b
|
||||
sloopt Python-code, en in een nginx-config betekent het geen `$host`, geen `log_format` en geen
|
||||
`access_log` met variabelen. Moet er tóch een dollarteken in een nginx-directive, dan hoort die directive
|
||||
in een bestand dat het `command`-blok van de compose wegschrijft (daar is `$$` te ontsnappen), of in een
|
||||
eigen image, waar geen envsubst aan te pas komt. Electrum Gate doet sinds 0.1.0 het tweede; Evolu Relay
|
||||
heeft zijn agent en pagina nog als `*.template`.
|
||||
eigen image, waar geen envsubst aan te pas komt. Beide apps doen sinds september 2026 het tweede; er
|
||||
staat geen `*.template` meer in deze repo, maar de regel blijft gelden voor wie er een bij zet.
|
||||
|
||||
**Wat bij een update meekomt is een whitelist**: `docker-compose.yml`, `*.template`, `exports.sh`, `torrc`,
|
||||
`hooks` en `umbrel-app.yml`. Al het andere bereikt een bestaande installatie nooit, zonder foutmelding.
|
||||
@@ -78,11 +78,12 @@ Er is ook een test over de **pagina's** van beide apps, en die is geen Python:
|
||||
node tests/test_paginas_parsen.mjs
|
||||
```
|
||||
|
||||
Hij toetst dat de JavaScript in elke statuspagina parseert. Een pagina staat op een van twee plekken: als
|
||||
`index.html.template` in de app-map (Evolu Relay; dan toetst hij ook dat het script heel blijft ná de
|
||||
invulling door umbreld) of als `index.html` in `tools/<app>/` (Electrum Gate sinds 0.1.0; dan toetst hij
|
||||
dat er geen accolade-variabele meer in staat). Dat is de enige klasse paginafouten die niet op het
|
||||
apparaat gevonden hoeft te worden; alles wat de pagina *toont* blijft handwerk in een browser.
|
||||
Hij toetst dat de JavaScript in elke statuspagina parseert. Een pagina kan op twee plekken staan: als
|
||||
`index.html.template` in de app-map (dan toetst hij ook dat het script heel blijft ná de invulling door
|
||||
umbreld) of als `index.html` in `tools/<app>/` (dan toetst hij dat er geen accolade-variabele meer in
|
||||
staat). Sinds september 2026 staan beide pagina's op de tweede plek. Dat is de enige klasse paginafouten
|
||||
die niet op het apparaat gevonden hoeft te worden; alles wat de pagina *toont* blijft handwerk in een
|
||||
browser.
|
||||
|
||||
**Wil je een pagina bekijken, gebruik `tools/voorbeeldpagina.mjs`.** Een statuspagina is niet zomaar te
|
||||
openen: de gegevens komen van een agent die alleen in de app bestaat, en in een `*.template` staan
|
||||
@@ -215,8 +216,17 @@ relay ergens kunt neerzetten is dat hij de sleutel niet heeft, en het manifest b
|
||||
Onderhoudsfuncties die de inhoud kennen horen in de tool in `HomeGit/Trezor`. Zie §11 van hetzelfde
|
||||
naslagdocument en `OPEN.md` punt 11.
|
||||
|
||||
**Alles zit in één image, sinds 0.6.0 (08-09-2026): de relay, de agent en de pagina.** `tools/evolu-relay/`
|
||||
heeft naast `src/` ook `agent.py`, `nginx.conf` en `index.html`; in de app-map staan alleen nog compose,
|
||||
manifest, icoon en `data/`. Basis is `node:24-slim` (om `better-sqlite3`, dat geen musl-binaries heeft)
|
||||
met nginx en python3 uit apt. Twee gevolgen die je moet kennen: nginx draait als `www-data`, want Debian
|
||||
heeft geen gebruiker `nginx`; en de image heeft geen `USER`, dus de compose zet `user: node` op de
|
||||
relay-service en de andere twee draaien als root. De versie in de kop van de pagina komt uit `api/status`
|
||||
via `RELAY_APP_VERSION`. Verhoog je `VERSION` in `build.sh`, dan ook het manifest en de tag in de compose,
|
||||
**drie keer**.
|
||||
|
||||
**Deze app draait en wordt gebruikt sinds 28-08-2026**, maar dat geldt niet voor elke wijziging: er zit een
|
||||
bouwstap tussen de repo en het apparaat. Een wijziging in `tools/evolu-relay/src/` is pas uitgerold als de
|
||||
bouwstap tussen de repo en het apparaat. Een wijziging in `tools/evolu-relay/` is pas uitgerold als de
|
||||
image gebouwd, geduwd en met zijn digest in de compose gezet is, en dat kan alleen de gebruiker. Meld dus
|
||||
per wijziging wat er wél geverifieerd is; "de app werkt" is geen uitspraak over de code van vandaag.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user