- image 0.0.3 met digest, via tools/release-bump.mjs; de digest komt
overeen met wat het register anoniem onder die tag heeft.
- folderAccess-slot price-history (Price history) op server:/data/history,
met als standaard ${APP_DATA_DIR}/data/app/history en een .gitkeep.
Zonder gekozen map dezelfde plek als zonder het slot.
- release notes: afgesloten maanden naar Price history (ook naar een NAS),
back-ups in een eigen submap met merkbestand, het wijzigingslog met de
pagina Wijzigingen, en de MCP-server.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
78 lines
4.7 KiB
YAML
78 lines
4.7 KiB
YAML
# ═══════════════════════════════════════════════════════════════════════════════
|
|
# Atreides Services - een eigen koersdienst: legt dag en nacht koersen vast en
|
|
# levert ze straks via een API aan Atreides Assets. De verzamelaar staat
|
|
# standaard aan en haalt dus vanaf de eerste start koersen van buiten op.
|
|
#
|
|
# Eén container: de Node-server serveert de beheer-app én bezit de database. Het
|
|
# recept staat NIET in deze repo maar in `HomeGit/AtreidesServices` (de Dockerfile
|
|
# in de root daar), net als bij Atreides Assets; deze store draagt alleen de
|
|
# app-definitie.
|
|
#
|
|
# Geen `ports:` hier. De beheer-app is een web-UI en hangt volledig achter
|
|
# app_proxy. De API voor afnemers krijgt later een eigen poort, en pas DIE wordt
|
|
# eventueel gepubliceerd; daar staat nu nog niets voor.
|
|
# ═══════════════════════════════════════════════════════════════════════════════
|
|
|
|
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: dit is de
|
|
# beheer-app en geen dienst voor een cliënt zonder browsersessie.
|
|
app_proxy:
|
|
environment:
|
|
APP_HOST: whatsnext-atreides-services_server_1
|
|
APP_PORT: 8090
|
|
|
|
server:
|
|
# De digest hoort erbij en niet alleen de tag: een tag kan opnieuw geduwd
|
|
# worden. Eerste release op 09-10-2026. Bij een volgende zet
|
|
# `node tools/release-bump.mjs whatsnext-atreides-services <versie> <digest>`
|
|
# de tag en de digest hier neer; dat script vervangt de hele regel en
|
|
# controleert anoniem bij het register dat de digest onder die tag hangt.
|
|
#
|
|
# DE TAG IS DE VERSIE VAN DE IMAGE EN NIET DIE VAN DE APP, net als bij Atreides
|
|
# Assets: `version` in umbrel-app.yml moet bij élke wijziging omhoog, ook als
|
|
# alleen dit bestand verandert.
|
|
image: sc.kamenier-hamer.nl/sysop/atreides-services:0.0.3@sha256:022cd900d70a9f896872f86eec4a7bf9a1fdebf57bfe2373b5ecb5adfb76e47d
|
|
restart: on-failure
|
|
# Geen `user:` nodig: de image zet zelf `USER node` (uid 1000). umbrelOS
|
|
# maakt de datamap aan als `umbrel`, ook uid 1000, dus node mag erin
|
|
# schrijven; gemeten op 09-10-2026.
|
|
#
|
|
# Geen healthcheck hier: die zit in de image (GET /api/health, ook zonder
|
|
# login bereikbaar).
|
|
environment:
|
|
# ZONDER DIT IS DE APP ONBEREIKBAAR. De server bindt op 127.0.0.1 zolang TLS
|
|
# én wachtwoord ontbreken, en in een container is dat de loopback van de
|
|
# container: app_proxy komt er dan niet bij. De waarschuwing over TLS bij het
|
|
# opstarten is daardoor verwacht. De netwerkgrens is hier de afwezigheid van
|
|
# een `ports:`-regel plus de proxy.
|
|
ATREIDES_SERVICES_HOST: "0.0.0.0"
|
|
# HIER STAAT MET OPZET GEEN `ATREIDES_SERVICES_PASSWORD`. De login is
|
|
# optioneel en wordt in de app zelf gezet, op de pagina Systeem. Een
|
|
# wachtwoord uit de omgeving wint van dat scherm, en dan is het alleen nog
|
|
# via dit bestand te veranderen: de les van Atreides Assets 0.1.0.
|
|
volumes:
|
|
# De datamap: db.sqlite, de minuutbestanden per maand en secrets.json. Een
|
|
# koersreeks per moment is niet opnieuw op te halen, dus dit is de map die
|
|
# in de back-up van umbrelOS hoort.
|
|
#
|
|
# Sinds `storage: dataRoot: data` in het manifest (0.0.3) herschrijft
|
|
# umbrelOS 2.0 deze bron naar de plek die de gebruiker kiest, en zet hij
|
|
# er `create_host_path: false` bij. Daarom moet data/app in de repo staan
|
|
# (.gitkeep), en mag hier geen mount-optie bij die umbreld niet kent.
|
|
# Staat de map op een USB-schijf, dan gaat hij NIET mee in de back-up.
|
|
- ${APP_DATA_DIR}/data/app:/data
|
|
# De standaard van het folderAccess-slot "backups" (umbrel-app.yml): zelfde
|
|
# service en zelfde doelpad, en precies de map die de app zonder deze regel
|
|
# ook zou gebruiken. Wijst de gebruiker het slot naar een NAS-map, dan
|
|
# vervangt umbreld alleen deze mount; de rest van /data blijft lokaal.
|
|
# Gemeten in het plan Netwerkopslag: een mount binnen /data verbergt de rest
|
|
# niet.
|
|
- ${APP_DATA_DIR}/data/app/backups:/data/backups
|
|
# De standaard van het slot "price-history": de afgesloten maanden. Zonder
|
|
# gekozen map dezelfde plek als zonder deze regel; de app schrijft eronder in
|
|
# een eigen submap history/ met merkbestand.
|
|
- ${APP_DATA_DIR}/data/app/history:/data/history
|