Files
UmbrelApps/Docs/Plannen/Actief/010-Appstore/TAKEN.md
T
HarmenandClaude Opus 5 67ed9b603b Eén app store, twee apps
umbrelOS leest per store één repo, dus twee apps in twee repo's kan niet. Deze
repo is de store en bevat vanaf nu Electrum Gate en het werk aan Evolu Relay.
Opgezet als verse repo op verzoek van de gebruiker: de historie van ElectrumTLS
en van EvoluRelay komt niet mee.

Dat heeft één gevolg dat verder gaat dan opruimen. In de historie van
ElectrumTLS staat het domein van de gebruiker en het certificaatpad, van vóór de
opschoning van 19-08. Die komt hier niet in. Zolang die repo op de Git-server
blijft staan verandert dat niets, dus het weghalen ervan is het laatste stuk van
open punt 3 van het plan Appstore, en geen bijzaak.

De store zelf hoefde niet te veranderen: store-id whatsnext, en dus blijft het
app-id whatsnext-electrum-gate. Dat hangt aan het store-id en niet aan de URL,
dus voor umbrelOS is dit dezelfde app in een andere store. Dat de store op 19-08
naar de maker genoemd werd in plaats van naar deze ene app, betaalt zich hier
uit.

Wat de documentatie betreft is dit één wortel voor beide apps, en dat was de
reden om samen te voegen en niet de prijs ervan: de appstore-spec, het pinnen
van images en de werkwijze golden al voor allebei en stonden in twee repo's naast
elkaar. De kruisverwijzing die daarvoor nodig was (Referenties/Umbrel-appstore.md
in de oude EvoluRelay-repo) is verdwenen; wat daarin stond over de plekken waar
de relay een ander geval is, staat nu als ontwerp in het masterplan Umbrelapp §4.

Botsende namen kregen een achtervoegsel met de app, en alleen die: Publicatie
werd Publicatie-Gate en Publicatie-Relay, CHANGELOG.md werd
CHANGELOG-electrum-gate.md. Proefopstelling kreeg 007, tussen de twee bestaande
nummers, zodat de bovenkant van de reeks op tier-orde blijft staan.
CONTINUE_HERE.md heeft een kolom App, maar de tiers lopen over beide apps heen:
er is één volgorde van werken.

Electrum Gate gaat naar 0.0.15, want website, repo, support, submission en icon
wijzen nu naar UmbrelApps en zonder versieverhoging rolt dat niet uit. De release
notes leggen aan de gebruiker uit dat hij de store opnieuw moet toevoegen. Of een
geïnstalleerde app een wisseling van store-URL overleeft is nog steeds niet
uitgezocht; dat blijkt bij het omzetten.

Twee dingen in de plannen van Electrum Gate waren door deze verhuizing niet meer
waar en zijn bijgewerkt: de taak "de repo hernoemen" in fase 7 is afgevinkt, en
de repo-vorm in PLAN.md §4a toonde nog de store-id electrumtls, die al sinds
fase 7 achterhaald was.

Tests: 39 goed 0 fout en 54 goed 0 fout, niets overgeslagen.

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

12 KiB
Raw Blame History

Taken - Appstore

Prioriteit: B | Afhankelijk van:

Van A naar B op 20-08-2026, bij de prioriteitsherziening na de verse installatie van 0.0.9. Alles waar dit plan om begon is af: de app is een echte umbrelOS-app, hij komt op uit een schone installatie, en een wallet van buiten verbindt over TLS. Wat er nog staat is niet te plannen (de herstartcontrole wacht op een herstart die er toch komt) of hoort bij het masterplan Publicatie. Het plan houdt zijn nummer 010; alleen Webinterface kreeg een nieuw nummer bij de promotie naar A.

Volgende stap

  • De maphiërarchie na een verse installatie nagekeken. In orde (20-08-2026): in ~/umbrel/app-data/whatsnext-electrum-gate/ staat data/ met certs/ en runtime/ eronder. Dat is de vorm die de appstore-eis vraagt, en samen met de twee .gitkeep-bestanden in de repo is dat punt van het masterplan Publicatie dus af. Wat deze controle niet onderscheidt is wie de mappen aanmaakte, rsync of Docker; voor de eis maakt dat niet uit, want die gaat over wat er in de repo staat

  • 0.0.9 opnieuw geïnstalleerd in plaats van geüpdatet. Gelukt (20-08-2026). De gebruiker koos een deïnstallatie plus verse installatie omdat de app-data dan schoon is, en dat werkte. Daarmee is bewezen wat op een bestaande installatie niet te bewijzen was: de pagina komt omhoog op een installatie waar nog nooit een certificaat gekozen is. Dat is precies de situatie waarin 0.0.3 stukliep

  • Na sudo reboot controleren dat de app vanzelf terugkomt. Dit is de aanleiding voor het hele plan en nu het enige wat er in de kern nog openstaat; zie fase 6. Eigenaar: gebruiker, op een moment dat het kan

  • De doorstuurregel in de router naar poort 50022 gezet (20-08-2026). Nodig omdat de app niet meer op 50002 luistert; zonder deze regel komt een wallet van buiten niet binnen

  • Een certificaat kiezen op de pagina, en daarmee het hele pad. Gelukt (20-08-2026): de keuze werd aangenomen, nginx kwam met poort 50022 door, en een wallet van buiten verbindt. De app doet waarvoor hij bestaat

  • 0.0.4 uitrollen en kijken of de pagina nu komt. Gelukt (20-08-2026). De pagina laadt, de melding "No certificate in use" staat er met de reden van de agent, en de veertien certificaten uit Zoraxy staan als keuzelijst. Daarmee is de klem uit 0.0.3 bewezen verholpen

  • De oude app electrumtls-electrum-tls verwijderen in umbrelOS, de store-URL opnieuw laten ophalen, en whatsnext-electrum-gate installeren. Gedaan (20-08-2026), en het leverde meteen een fout op: er kwam geen UI. Oorzaak was geen installatiefout maar een ontwerpfout, verholpen in 0.0.4, zie PROGRESS.md en CHANGELOG-electrum-gate.md

Daarna, in deze volgorde:

  • version op 0.0.3 en de release notes herschreven (19-08-2026). Niet 3.0.0: de gebruiker heeft de nummering opnieuw onder 1.0 gezet, omdat 1.0.0 en 2.0.x een rijpheid beweerden die er niet was. De stap terug in het nummer kan omdat de oude app gedeïnstalleerd wordt en dit een nieuwe app-id is, dus er is geen geïnstalleerd manifest om tegen te vergelijken. Vanaf hier moet het nummer altijd omhoog; zie CHANGELOG-electrum-gate.md
  • Controleren of de wallet-verbinding de nacht heeft doorstaan. Gelukt (19-08-2026): de verbinding stond er 's ochtends nog. Daarmee is de proxy_timeout-fix bewezen en de storing verklaard en verholpen
  • Het plan Webinterface promoveren naar Actief/; het werk daaraan is begonnen
  • Het plan Configuratie herzien vóórdat het gepromoveerd wordt. Bij het afsluiten van de sessie op 19-08-2026 bleek het grotendeels ingehaald: de agent doet §4e en §4f al, en het hardgecodeerde domein is uit docker-compose.yml én uit nginx.conf.template verdwenen, dus fase 2 is op de README na klaar. Wat er nog echt in zit, is kleiner dan het plan suggereert. Eerst opschonen, dan beslissen of promotie nog nodig is

Fase 1 - De repo-vorm

  • umbrel-app-store.yml aanmaken met id: electrumtls en een name
  • Map electrumtls-electrum-tls/ aanmaken en de app-bestanden erheen verplaatsen
  • id in umbrel-app.yml op electrumtls-electrum-tls zetten, gelijk aan de mapnaam
  • install.sh en uninstall.sh verwijderen; umbreld beheert dit onder umbrelOS 1.x
  • Verplaatsen en inhoudelijk wijzigen in twee commits houden, anders is de verhuizing niet als "alleen verplaatst" na te lezen

Fase 2 - De compose

  • app_proxy-service toevoegen met APP_HOST: electrumtls-electrum-tls_server_1
  • Het externe umbrel_main_network en het top-level networks:-blok verwijderen
  • version: "3.7" weghalen; die sleutel is verouderd
  • Certificaatmount op ${UMBREL_ROOT}/app-data/zoraxy/... in plaats van een absoluut pad
  • De handmatige ${APP_ELECTRUM_TLS_WEB_PORT}-plaatshouder eruit; de web-UI loopt via app_proxy
  • Uitzoeken hoe entrypoint.sh, cert-watch.sh en web/ in ${APP_DATA_DIR} terechtkomen. Bij installatie kopieert umbreld de hele app-map met rsync --archive, dus de mounts kloppen. Bij een update wordt alleen een whitelist ververst; zie OPEN.md punt 6
  • Logica die later nog moet kunnen wijzigen uit entrypoint.sh halen en in de compose of in een *.template zetten, anders levert een git push geen update op bij een bestaande installatie

Fase 3 - Backend-onafhankelijk

  • dependencies: [electrs] in het manifest laten staan en controleren
  • ELECTRS_HOST van ${APP_ELECTRS_IP} naar ${APP_ELECTRS_NODE_IP} (nu wijst hij naar de web-UI-container van Electrs, niet naar de Electrum-server)
  • ELECTRS_PORT van de vaste 50001 naar ${APP_ELECTRS_NODE_PORT}
  • Controleren dat er nergens een Electrs-specifieke variabele gebruikt wordt; alleen IP, NODE_IP en NODE_PORT worden door Fulcrum en ElectrumX gealiast
  • De terugval electrs_electrs_1 in entrypoint.sh vervangen door hard stoppen met een melding; een oude containernaam als standaard laat de app draaien terwijl hij naar niets wijst
  • Op de Umbrel verifiëren: omschakelen naar Fulcrum en controleren dat het zonder aanpassing werkt (staat ook in fase 6)

Fase 4 - De image

  • Uitkomst van de "Volgende stap" verwerken: nginx stream, of terugvallen op een eigen image
  • Image pinnen op de multi-arch index-digest, geverifieerd met docker buildx imagetools inspect (kan alleen op de Umbrel; staat als TODO in de compose). Sinds 20-08-2026 ook de grootste openstaande eis voor het masterplan Publicatie, want de officiële store eist repo:versie@sha256:<digest> met beide architecturen erin. Blijft hier staan tot dat plan actief wordt; een taak op twee plekken loopt uit elkaar
  • apk add bij het starten verwijderen
  • De cert-monitor-service samenvoegen met de proxy en de Docker-socket-mount schrappen
  • Certificaatwissel omzetten naar een reload binnen de container in plaats van een containerherstart
  • entrypoint.sh en cert-watch.sh verwijderen; de logica staat nu in de compose en in nginx.conf.template, die allebei bij een update wél ververst worden

Fase 5 - Het manifest

  • port op de web-UI-poort zetten in plaats van 50002
  • Eigen icoon toevoegen; verwijst nu naar het Electrs-icoon in andermans repo
  • gallery invullen of tot het minimum beperken; het wijst nu naar een screenshot van Electrs
  • developer, website, repo, support, submitter en submission kloppend maken
  • releaseNotes en version bijwerken
  • tagline en description bijwerken; die noemden stunnel, dat er niet meer is
  • Controleren dat Gitea icon.png als afbeelding serveert. Ja, na het omzetten van de accountzichtbaarheid: 33,9 kB als image/png. De eerdere 401 en 404 kwamen van dezelfde oorzaak als de mislukte kloon, dus er is geen data:-URI nodig

Fase 6 - Installeren en verifiëren

  • De bestaande handmatige installatie stoppen; die hield poort 50002 vast en liet de installatie drie keer falen. Stond in ~/umbrel/home/Containers/ElectrumTLS
  • Store-URL toevoegen in umbrelOS en de app installeren
  • Verbinden met een Electrum-wallet over TLS. Werkt: de wallet krijgt direct data terug, wat het hele pad bewijst, dus TLS-terminatie, certificaat en de verbinding naar de Electrum-server
  • Na sudo reboot controleren dat de app vanzelf terugkomt. Dit is de aanleiding voor het plan en de enige controle die er nog echt toe doet. Uitgesteld op 18-08-2026: de Umbrel is een productiemachine en wordt niet op verzoek herstart. Zie OPEN.md punt 7
  • Vervanger die nu wél kan: de app stoppen en starten via umbrelOS. Dat gebruikt hetzelfde app-script start-pad als het opstarten na een herstart, maar bewijst niet de volgorde ten opzichte van Zoraxy
  • Controleren dat de app terugkomt nadat Electrs gestopt en gestart is
  • De oude stunnel-container weghalen, vóór de Fulcrum-test. Hij bindt poort 50002 en dat is de poort die Fulcrum op de host wil, dus die test kan niet slagen zolang hij bestaat. Met docker compose -f ~/umbrel/home/Containers/ElectrumTLS/docker-compose.yml down. Het externe umbrel_main_network blijft daarbij staan; dat verwijdert compose nooit. Eigenaar: gebruiker
  • Omschakelen naar Fulcrum in de umbrelOS-instellingen en controleren dat het zonder aanpassing werkt
  • Pas ná een geslaagde herstart de oude map ~/umbrel/home/Containers/ElectrumTLS opruimen; tot dan is dat de terugweg. Let op de volgorde: de container mount zijn entrypoint.sh uit die map, dus eerst de container weg en dan de map

Fase 7 - Naam en identiteit

Toegevoegd 18-08-2026. De naam beschreef het middel (TLS) en niet wat je ermee kunt.

  • Naam wordt Electrum Gate. Bijgesteld op 19-08-2026; op 18-08-2026 stond hier nog Electrum Gateway. TLS is uit de naam en uit de tagline verdwenen; die gaat nu over de afweging Tor tegenover snelheid
  • Store-id whatsnext, app-id en mapnaam whatsnext-electrum-gate. Zie OPEN.md punt 8
  • developer en submitter op WhatsNext? (19-08-2026)
  • tagline en description herschreven, in het Engels, met de Tor-afweging en de lijst met clients waarvoor de app nuttig is
  • Eigen icoon van de gebruiker inbouwen, in de kleuren van het design-systeem. Het huidige icon.png staat er nog en is niet het definitieve
  • De repo hernoemd naar UmbrelApps, met icon, website, repo, support en submission mee (25-08-2026, in 0.0.15). Niet uitgesteld tot GitHub, zoals hier stond, maar afgedwongen door Evolu Relay: umbrelOS leest per store één repo, dus een tweede app maakte een naam naar deze ene app onhoudbaar. Het app-id ging niet mee en dat hoefde ook niet; dat hangt aan het store-id en niet aan de URL
  • In umbrelOS de oude store verwijderen en de nieuwe URL toevoegen. Hier valt te zien of een geïnstalleerde app een wisseling van store-URL overleeft, en dat is niet uitgezocht; ga er niet van uit. Zie OPEN.md punt 8. Eigenaar: gebruiker
  • Pas daarna de repo ElectrumTLS op de Git-server weghalen. Dat is niet alleen opruimen: zolang hij bestaat, staat het domein nog in een publieke historie. Zie OPEN.md punt 3. Eigenaar: gebruiker

Geblokkeerd / wacht op

  • Keuze van de TLS-poort - vervallen 19-08-2026. Open punt 1 van het plan Configuratie is beslist op 50022 en meteen doorgevoerd, omdat de app toch opnieuw geïnstalleerd wordt. Daarmee is ook de botsing met Fulcrum weg en kan de omschakelcontrole in fase 3 en fase 6 echt gedaan worden