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.
|
2026-10-29 12:35:35 +01:00
|
|
|
image: sc.kamenier-hamer.nl/sysop/atreides-assets:0.3.1@sha256:20cae28ba15206d3f60635f04e9881275feac7b9e7772f0e0023e390f29d1e36
|
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
|