pull_policy: never, anders faalt de installatie op een image die nergens staat

De image is gebouwd op de Umbrel en staat alleen in de lokale Docker-opslag: er
is geen register. Dat leek te werken omdat `docker compose up` niets ophaalt zolang
de image lokaal bestaat. Bij het nakijken van app-script in umbreld bleek dat niet
het pad dat een installatie loopt.

umbreld draait `compose "${app}" pull` bij install, bij update en bij
post-patch-update. Die zou whatsnext/evolu-relay:c03a204 op Docker Hub zoeken,
waar hij niet bestaat, en dan faalt de installatie voordat er iets gestart is. Met
pull_policy: never slaat compose die twee services over bij het ophalen. Postgres
houdt de standaard, want die komt wél uit een register.

Bijkomend voordeel dat het houdt zodra er ooit een register is: ontbreekt de image,
dan is de fout "niet gevonden" en die wijst naar de overgeslagen bouwstap, in plaats
van een mislukte netwerkpoging die naar het register wijst.

Uit hetzelfde bestand meegenomen naar de naslag: starten gaat met
`up --detach --build`, dus umbreld zou een build:-blok wél uitvoeren. Toch blijft
bouwen-in-de-app een slecht idee, en nu met een tweede reden naast de whitelist: de
installatie hangt dan tijdens het bouwen. Op deze machine duurde dat 50 seconden.

Geen versieverhoging: deze app is nog nooit geïnstalleerd, dus er is geen manifest
op een apparaat om tegen te vergelijken.

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

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Harmen
2026-08-25 18:13:57 +02:00
co-authored by Claude Opus 5
parent b2e9c8fc7a
commit 8004acfae9
2 changed files with 27 additions and 0 deletions
+12
View File
@@ -34,6 +34,16 @@ services:
# op zolang de image lokaal bestaat; zodra de tag naar een register wijst,
# hoort de digest erbij. Zie Docs/Referenties/Images-pinnen.md.
image: whatsnext/evolu-relay:c03a204
# Verplicht zolang de tag niet in een register staat. umbreld draait bij een
# installatie en bij een update `docker compose pull` (zie `app-script` in
# umbreld), en dat zou deze tag op Docker Hub zoeken, waar hij niet bestaat.
# De installatie faalt dan voordat er iets gestart is. `never` slaat hem over
# bij het ophalen en gebruikt wat er lokaal staat.
#
# Bijkomend voordeel: staat de image er niet, dan is de fout "image niet
# gevonden" in plaats van een mislukte netwerkpoging, en dat wijst naar de
# bouwstap die overgeslagen is. Weg zodra er een register is.
pull_policy: never
restart: on-failure
depends_on:
db:
@@ -62,6 +72,8 @@ services:
quota-manager:
image: whatsnext/evolu-relay:c03a204
# Zelfde reden als bij relay hierboven.
pull_policy: never
restart: on-failure
depends_on:
db: