Files
UmbrelApps/Docs/Plannen/Actief/008-Umbrelapp/TAKEN.md
T
HarmenandClaude Opus 5 c1ed04db84 Evolu Relay draait op de Umbrel
Drie containers omhoog, db gezond, de app-proxy op 3851. De lokale images waren
vooraf weggehaald, dus de pull uit het eigen register is echt gedaan en het hele
pad is bewezen: broncode van Trezor, bouwrecept, eigen register, gepinde digest,
installatie.

Open punt 1 is beslist en niet zoals het geformuleerd stond. Daar stond dat lokaal
bouwen de eerste stap was en dat een register beslist zou worden "zodra lokaal niet
meer volstaat". Lokaal volstaat nooit: umbreld haalt elke image via de Docker
Engine API op. Dus geen keuze maar een voorwaarde, en de uitkomst is het
Gitea-register op dezelfde server als de store.

Nieuw open punt 5, als keerzijde daarvan: de store is publiek en de image staat op
een privéserver. Voegt een vreemde deze store toe, dan haalt zijn Umbrel images van
de server van de gebruiker, en diens uptime bepaalt of die installatie slaagt.
Electrum Gate heeft dat niet, want die draait op images uit Docker Hub. Drie
richtingen genoteerd, waaronder disabled: true in het manifest.

In PROGRESS staat de fout die twee rondes kostte, met de reden dat hij overtuigend
was: app-script noemt een compose pull bij install, en dat leest als het antwoord.
Het is de legacy-compat-laag en niet het pad dat umbrelOS 1.x loopt. De les is
breder dan deze app en daarom staat hij er.

Ook opgeschreven omdat het bij elke herbouw terugkomt: de gebruiker umbrel zit hier
niet in de groep docker, dus bouwen vraagt sudo.

De kopstructuur van OPEN.md stond na het bijwerken door de war (een tweede kop
"Nog te beslissen"); die is weer conform het sjabloon.

Tests: niet gedraaid, dit raakt alleen documentatie.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-25 18:37:18 +02:00

6.2 KiB
Raw Blame History

Taken - Umbrelapp

App: Evolu Relay. Prioriteit: A | Afhankelijk van:

Actief sinds 25-08-2026. Gepromoveerd uit Masterplannen/ omdat de gebruiker besloot het pakket meteen te maken. De afhankelijkheid op Proefopstelling is daarmee geen blokkade meer maar een parallelle bron: fase 1 daarvan is af en leverde de feiten waarop dit pakket rust. Wat er nog uit moet komen zijn twee vragen die pas bij het installeren pijn doen, en die staan hieronder als eigen taak.

Volgende stap

  • In de logs van de relay kijken of het databaseschema zichzelf aanmaakt. De drie containers staan omhoog, maar "Up" is nog geen "werkt": de relay kan draaien en toch klagen over ontbrekende tabellen. sudo docker logs whatsnext-evolu-relay_relay_1. Dit is nu het eerste punt waar het misgaat als het misgaat. Eigenaar: gebruiker

Fase 1 - De app-map

  • whatsnext-evolu-relay/ aangemaakt met umbrel-app.yml en docker-compose.yml (25-08-2026). Mapnaam gelijk aan het id, met het store-voorvoegsel whatsnext-, en de manifestvelden in de voorgeschreven volgorde
  • data/postgres/.gitkeep erin, zodat de mount bij de eerste start niet als root wordt aangemaakt
  • dependencies weggelaten en niet leeg gezet. Deze app hangt van geen enkele andere app af; een leeg veld zou suggereren dat er iets te kiezen valt
  • Een eigen icoon. Er staat nu géén icon in het manifest, dus de tegel blijft naamloos in de store. Bewust leeg: een geleend of verkeerd icoon is erger dan geen. Eigenaar: gebruiker

Fase 2 - De compose

  • app_proxy met PROXY_AUTH_ADD: "false", en geen eigen ports:. Trezor Suite is geen browser met een sessiecookie. Dit is het patroon van de eigen nostr-relay-app van Umbrel, dus een precedent en geen omweg; zie PLAN.md §4c
  • Relay en quota-manager uit één image met een ander command. Expliciet en niet leunend op de CMD van de Dockerfile, want daar staat yarn start met bovenstrooms zelf een twijfel erbij
  • De quota-manager gaat mee. Niet omdat de relay hem aanroept, maar omdat de relay elke eigenaar zonder limietenrij weigert en dit is wat die rijen maakt
  • Postgres onder ${APP_DATA_DIR}/data/postgres, wachtwoord uit ${APP_PASSWORD}, PGDATA op een submap, en postgres:17-alpine in plaats van postgres kaal
  • Healthcheck op de eigen database en gebruiker, niet op -d postgres zoals bovenstrooms: die database bestaat hier niet, en dan is de controle groen op het verkeerde antwoord
  • De eigen image gepind op tag plus digest (25-08-2026). sc.kamenier-hamer.nl/sysop/evolu-relay:c03a204@sha256:2fe1e9e9…, op beide services. Dat moest wel: zie fase 4. Let op dat dit één architectuur is (amd64), want er is alleen amd64 geduwd. Voor de officiele store hoort er een multi-arch index-digest met arm64 in; dat staat bij Publicatie-Relay
  • postgres:17-alpine pinnen op de multi-arch index-digest. Kan meteen, met docker buildx imagetools inspect, en het is het laatste ongepinde in deze app. Staat als TODO in de compose

Fase 3 - Het bouwrecept

  • tools/evolu-relay/build.sh (25-08-2026). Haalt de broncode op een vastgezette commit en bouwt de Dockerfile van Trezor. Niet hun bouwstappen nabouwen; wat wij toevoegen is de pin
  • Niet in de app-map gezet, en dat is geen netheid. Een Dockerfile staat niet in de update-whitelist, dus bouwen-in-de-app zou elke nieuwe versie een herinstallatie kosten. Zie PLAN.md §4f
  • Onder tools/ en niet onder build/: dat laatste staat in .gitignore als bouwselmap, dus het recept zou stilzwijgend buiten de repo blijven. Gevonden bij het stagen, niet bij het schrijven
  • Het script controleert na het ophalen dat de commit is wat hij verwachtte, en faalt hard als dat niet zo is. Zonder die regel bouwt het stil de verkeerde toestand

Fase 4 - Installeren en verifiëren op de Umbrel

Niets hiervan is op een laptop te doen. Eigenaar van deze hele fase: gebruiker.

  • De image gebouwd op de Umbrel (25-08-2026), in 50 seconden. Twee dingen die het opleverde: de gebruiker umbrel zit hier níet in de groep docker, dus het moet met sudo; en de Dockerfile van Trezor bouwt zonder aanpassing
  • In een register gezet, want anders kan umbreld er niet bij (25-08-2026). Dit was de grote verrassing van de dag en het staat met bron in Umbrel-appstore-spec.md: umbreld haalt élke image via de Docker Engine API op, niet via compose. Een lokaal gebouwde tag is dus onbereikbaar en pull_policy: never doet niets, want de compose wordt niet gelezen om te pullen. Het Gitea-register op dezelfde server als de store bleek de kortste weg, en anoniem halen werkt daar
  • De app geïnstalleerd en alle drie de containers blijven draaien (25-08-2026). relay, quota-manager en db, met db op healthy en de app-proxy op 3851. De lokale images waren vooraf weggehaald, dus de pull uit het register is echt gedaan en het hele pad is bewezen: broncode → bouwrecept → register → gepinde digest → installatie
  • Gecontroleerd of het databaseschema zichzelf aanmaakt. Niet uitgezocht, en dit is de eerste plek waar het misgaat als het antwoord nee is. Kijk in de logs van de relay-container
  • Trezor Suite naar <umbrel>:3851 laten wijzen en een label synchroniseren. Dit is de enige controle die telt, en hij kan mislukken op de eigenaarsregistratie zonder dat er iets mis is met het pakket
  • De app gestopt en gestart, en de database heeft het overleefd
  • Gecontroleerd dat het toevoegen van deze app Electrum Gate niet raakt

Geblokkeerd / wacht op

  • Hoe registreer je een eigenaar bij de quota-manager? Zonder antwoord kan er niet gesynchroniseerd worden, ook al draait alles. Wacht op Proefopstelling fase 1; begin bij bruno-collection/ in de bovenstroomse repo
  • Accepteert Trezor Suite dit adres, en in welke vorm? Wacht op Proefopstelling, "Volgende stap". Als het antwoord nee is, is dit pakket zonder waarde