Relay 0.6.0 draait en synct; de gebruiker haalde de achtergebleven programmabestanden met de hand uit de app-datamap. Het plan verhuist naar Docs/Plannen/Archief/Eigenimage/, de eerste in die map. CONTINUE_HERE krijgt een archiefsectie; Publicatie-Relay wacht niet meer op een te pinnen image, en in Publicatie-Gate en Images-pinnen.md is het pinnen van vreemde images geschiedenis. Wat er voor publicatie nog ontbreekt is linux/arm64. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
7.2 KiB
Publicatie-Gate - masterplan
App: Electrum Gate. Er is ook een Publicatie-Relay; inleveren bij de officiële store is per app en de twee plannen delen alleen de eisen, niet het werk. Hernoemd op 25-08-2026, toen Evolu Relay bij deze store kwam; daarvoor heette dit plan Publicatie.
1. Waarom dit een eigen plan is
Op 20-08-2026 zei de gebruiker dat hij de app uiteindelijk als standaard-app voor Umbrel wil publiceren. Dat verandert wat "af" betekent. Tot nu toe was de maatstaf "hij werkt op deze Umbrel", en de app haalt die sinds diezelfde dag. De maatstaf van dit plan is een andere: iemand anders keurt het pakket goed, tegen eisen die niet van ons zijn.
Daarom staat dit los van het plan Appstore. Dat plan gaat over de app als umbrelOS-app en over de eigen community store, en die twee doelen zijn haalbaar zonder dat er ooit iemand meekijkt. Twee taken uit dat plan verhuizen hier inhoudelijk naartoe (de images pinnen, de repo hernoemen); ze blijven daar staan tot dit plan actief wordt, want een taak op twee plekken loopt uit elkaar.
2. Wat er af is
Niet alles hoeft nog te gebeuren. Bij het uitzoeken op 20-08-2026 bleek een deel al goed, en dat is geen toeval: de eisen zijn dezelfde als die van de spec die dit project vanaf 18-08 als naslag bijhoudt.
app_proxymet alleen omgevingsvariabelen, geen eigen poorten;- de umbrelOS-inlog staat aan en er is geen
PROXY_AUTH_WHITELIST, dus ook het API-pad zit erachter; gallery: [], wat voor een nieuw pakket precies goed is;- alle gebruikersstaat onder
${APP_DATA_DIR}/data/..., met een.gitkeepper map (sinds 0.0.9); - de manifestvelden in de voorgeschreven volgorde, met een toets erop, en
iconals laatste regel zodat dat de enige is die bij inlevering weg hoeft (20-08-2026); - niets wordt buiten
${APP_DATA_DIR}geschreven; - geen Docker-socket, geen privileged container, geen host-netwerk.
3. Wat er nog moet, in volgorde van moeilijkheid
-
De images pinnen. Grotendeels ingehaald door Eigenimage (08-09-2026): de app draait op één eigen image, gepind als
repo:versie@sha256:<digest>, enpython:3-alpineennginx:alpinestaan niet meer in de compose. Wat er nog ontbreekt islinux/arm64in de manifest-lijst:build.shbouwt standaard één architectuur en heeft voor multi-arch een schakelaar (PLATFORMS=...) die nog nooit geprobeerd is. Dát is de resterende taak hier. De alinea's hieronder zijn van vóór die stap en gaan over het pinnen van vreemde images; ze blijven staan als geschiedenis.Niet nu doen. Besloten met de gebruiker op 20-08-2026: zolang er nog gedraaid, verbeterd en getest wordt, kost een pin alleen werk. Elke keer dat je een nieuwere basisimage wilt, moet je opnieuw pinnen, en tot de inlevering levert het niets op wat er nu ontbreekt.
De commando's staan in Images-pinnen.md, met de drie dingen die erbij stil mis kunnen gaan: een tag die meebeweegt, de digest van één architectuur in plaats van die van de index, en de aanname dat pinnen een eenmalige handeling is. Werkwijze: de gebruiker draait het commando op de Umbrel en plakt de uitvoer, waarna de pin in
docker-compose.ymlgaat. Dat is een commit met een versieverhoging, want de compose wordt daadwerkelijk uitgerold. -
Het app-id kaal maken.
whatsnext-electrum-gatewordtelectrum-gate, en de mapnaam mee. Het voorvoegsel is een eis van een community store, niet van de officiële. Let op: een id-wijziging is voor umbrelOS een andere app, dus dat is opnieuw installeren. De gebruiker heeft daar op 20-08-2026 geen bezwaar tegen. -
iconweghalen, en dat kan pas op het moment van inleveren: zolang dit een eigen store is moet het icoon er juist in. De volgorde zelf is op 20-08-2026 al goed gezet, en het icoon staat als laatste regel zodat dit één verwijdering is. Wat er dan ook nog moet:submissionnaar de PR-URL laten wijzen. -
Drie tot vijf schermafbeeldingen aanleveren. Niet zelf opmaken: het store-team maakt de promo-afbeeldingen (achtergrond met het plaatje erop) en daarom zien ze er allemaal hetzelfde uit. Wie het wél zelf wil, levert 1440 bij 900 in PNG. Details en de vorm voor een eigen store staan in Umbrel-appstore-spec.md.
Wat er op moet: het dashboard met echte gegevens, de certificaatkeuze open met meerdere kandidaten, en de verbindingsregels per wallet. Dat laatste is waar iemand voor komt en het eerste is het bewijs dat het werkt. Met plaatsvervangende hostnamen, want een echte schermafbeelding van deze machine zet veertien subdomeinen van de gebruiker op een publieke winkelpagina.
-
De repo verhuizen naar een publieke plek met de URL-velden mee. Staat nu als taak in Appstore fase 7, en is hier een voorwaarde:
repo,website,supportensubmissionmoeten naar iets wijzen dat een reviewer kan openen. -
De herstart-controle afronden. Geen formele eis, maar wel de enige controle die dit project nooit heeft kunnen doen, en het is een slecht idee om iets in te leveren waarvan je dat niet weet. Zie Appstore, open punt 7.
3b. Bestaat dit al, en wat zeggen we in de PR
Uitgezocht op 20-08-2026, want dat is de eerste vraag die een reviewer stelt. Antwoord: nee, en de onderbouwing is scherper dan "ik heb niets gevonden". De reverse proxies die al in de store staan, Nginx Proxy Manager op kop, kunnen een certificaat wel op HTTP zetten maar niet op een gewone TCP-poort; daar staat bij NPM een openstaand verzoek voor. Een Electrum-wallet praat geen HTTP, dus die apps lossen dit niet op. Met bronnen in Vergelijkbare-apps.md.
Die ene zin is de kern van de PR-tekst. Reken er daarnaast op dat er gevraagd wordt waarom dit geen VPN of
tunnel is. Het antwoord staat in datzelfde document en is geen afweging maar een verschil in soort: een
tunneldienst zit in het pad en termineert het verkeer daar, een mesh-VPN vraagt een account, een
coördinatieserver en een client op elk apparaat, en deze app vraagt geen van beide. De Engelse formulering
staat er ook, en sinds 0.0.11 in de description van het manifest.
4. Het risico dat niet in een checklist staat
De app leest de certificaatmap van een ándere app: ${UMBREL_ROOT}/app-data/zoraxy/... staat alleen-lezen
gemount. Dat is toegestaan (de regel gaat over schrijven), maar het is het meest ongebruikelijke aan dit
pakket en het is precies het soort ding waar een review over valt.
Wat het antwoord daarop wordt, is nog niet beslist. Denkrichtingen, niet in volgorde:
- laten staan en uitleggen. Het is alleen-lezen, het is de kern van wat de app doet, en het alternatief is dat iedere gebruiker zijn certificaat met de hand kopieert;
- het uploadpad uit 0.0.7 is er al en werkt zonder die mount. De app is dus bruikbaar zonder Zoraxy, en dat maakt de mount een gemak in plaats van een voorwaarde;
- vragen vóór het inleveren in plaats van erna. Een issue in
umbrel-appskost minder dan een afgewezen PR.
5. Onderbouwing
De eisen staan niet in de README van umbrel-apps maar in de skill-documentatie waar die naar verwijst.
Met bron per regel, plus wat deze app er nu van doet, in
Umbrel-appstore-spec.md.