Files

77 lines
4.5 KiB
YAML
Raw Permalink Normal View History

2026-10-09 10:40:25 +02:00
# ═══════════════════════════════════════════════════════════════════════════════
# Atreides Assets - je eigen vermogensoverzicht (crypto en edelmetaal), lokaal.
#
# Eén container: de Node-backend serveert de SPA én bezit de database. Het recept
# staat NIET in deze repo maar in `HomeGit/AtreidesAssets` (de Dockerfile in de root
# daar); deze store draagt alleen de app-definitie. Zie het plan Distributie,
# PLAN.md §5a: de scheiding loopt tussen repo's en niet tussen mappen.
#
# Geen `ports:` hier, en dat is het verschil met de andere twee apps in deze
# store. Die publiceren een eigen poort omdat een cliënt zónder browsersessie
# erbij moet (een wallet, een sync-cliënt). Dit is een web-UI en niets anders,
# dus hij hangt volledig achter app_proxy en umbrelOS bepaalt de poort.
# ═══════════════════════════════════════════════════════════════════════════════
services:
# umbrelOS genereert deze service zelf; wij vullen alleen in waar hij heen moet
# wijzen. De hostnaam heeft de vorm <app-id>_<compose-service>_1.
#
# PROXY_AUTH_ADD blijft weg, dus de inlog van umbrelOS staat ervoor. Dat is hier
# de bedoeling: dit is een administratie en niet een dienst voor een cliënt.
app_proxy:
environment:
APP_HOST: whatsnext-atreides-assets_server_1
APP_PORT: 8080
server:
# De digest hoort erbij en niet alleen de tag: een tag kan opnieuw geduwd
# worden en dan draait er iets anders dan hier staat. Staan ze allebei, dan
# bepaalt de digest wat er gehaald wordt en is de tag alleen leesbaarheid.
# Geduwd op 14-09-2026.
#
# DE TAG IS DE VERSIE VAN DE IMAGE EN NIET DIE VAN DE APP. `version` in
# umbrel-app.yml loopt erop vooruit, want dat moet bij élke wijziging omhoog,
# ook als alleen dit bestand verandert; de tag alleen als er een nieuwe image
# is. Vandaar 0.1.1 in het manifest naast 0.1.0 hier.
#
# Er hoort geen build.sh bij deze app, want het recept woont in de
# AssetApp-repo; de toets in tests/test_appstore_vorm.py slaat de
# tag-vergelijking daarom over.
#
# Bij een verhoging: eerst de digest hier wéghalen, dan bouwen en duwen, dan
# de nieuwe erin. Een OUDE digest onder een NIEUWE tag levert stilzwijgend de
# oude image.
image: sc.kamenier-hamer.nl/sysop/atreides-assets:0.3.4@sha256:908afbc7895edfdf6c5dadd646edf85ced0053b4f5273d7372aa9080d00583a5
2026-10-09 10:40:25 +02:00
restart: on-failure
# Geen `user:` nodig: de image zet zelf `USER node`. Dat is anders dan bij
# Evolu Relay, waar de image er geen heeft en de compose het per container
# regelt.
environment:
# ZONDER DIT IS DE APP ONBEREIKBAAR. De server bindt op 127.0.0.1 zolang TLS
# én inloggegevens ontbreken, en in een container is dat de loopback van de
# container: app_proxy komt er dan niet bij. De netwerkgrens is hier de
# afwezigheid van een `ports:`-regel plus de proxy, en niet de app zelf.
ASSETAPP_HOST: "0.0.0.0"
# HIER STAAT MET OPZET GEEN `ASSETAPP_PASSWORD`, en dat is een correctie op
# 0.1.0 (14-09-2026). Daar stond `${APP_PASSWORD}`, en dat gaf twee
# problemen tegelijk:
#
# 1. umbrelOS vult die variabele alleen aan een app die er in zijn
# manifest om vraagt, dus hij kwam leeg binnen en de app draaide
# zónder eigen slot;
# 2. en gevuld was ook niet goed geweest. De app leest de omgeving vóór
# het geheimenbestand, dus verbergt hij op Systeem -> Portefeuilles de
# knop om het wachtwoord te wijzigen. Het is dan alleen te veranderen
# door dit bestand aan te passen, en dat is voor een Umbrel-app de
# verkeerde plek.
#
# Het wachtwoord hoort dus in de portefeuille zelf, te zetten op
# Systeem -> Portefeuilles. Daar is het te wijzigen en het gaat mee in de
# back-up van umbrelOS. Tot je het zet, is de inlog van umbrelOS het enige
# slot, en dat beschermt niet tegen een andere app op hetzelfde
# Docker-netwerk.
volumes:
# De INSTALLATIEMAP van de app: active.json, tls/ en één map per
# portefeuille. Alles wat de gebruiker bezit staat hieronder, dus dit is de
# map die in de back-up van umbrelOS hoort.
- ${APP_DATA_DIR}/data/app:/data