2026-10-09 12:26:48 +02:00
|
|
|
# De veldvolgorde hieronder is niet vrij: de packaging-documentatie van de
|
|
|
|
|
# officiele appstore schrijft hem voor. Zie de tabel in
|
|
|
|
|
# HomeGit/Docs/Referenties/UmbrelApps/Umbrel-appstore-spec.md, en de toets in
|
|
|
|
|
# tests/test_appstore_vorm.py die hem vasthoudt.
|
|
|
|
|
#
|
|
|
|
|
# Wat de spec niet noemt, staat onderaan dit bestand en niet ertussen.
|
|
|
|
|
manifestVersion: 1
|
|
|
|
|
id: whatsnext-atreides-services
|
2026-10-09 14:31:18 +02:00
|
|
|
# umbrelOS 2.0: de gebruiker kan de hele datamap (${APP_DATA_DIR}/data) in de
|
|
|
|
|
# app-instellingen naar een USB-schijf verplaatsen. Alleen ext4 en geen
|
|
|
|
|
# netwerkshare; die laatste weigert umbrelOS voor app-opslag, en de SQLite-
|
|
|
|
|
# bestanden in WAL-stand horen er ook niet op. De waarde moet letterlijk `data`
|
|
|
|
|
# zijn, en het veld kan er niet meer uit: een installatie die al verplaatst is,
|
|
|
|
|
# start dan niet meer. Zie Umbrel-appstore-spec.md §7.
|
|
|
|
|
storage:
|
|
|
|
|
dataRoot: data
|
2026-10-09 16:16:33 +02:00
|
|
|
# umbrelOS 2.0: een map die de gebruiker in de app-instellingen naar zijn
|
|
|
|
|
# Home-map, een USB-schijf of een netwerkshare kan wijzen. Er wordt niets
|
|
|
|
|
# gekopieerd; umbreld vervangt alleen de mount. De standaard is de mount op
|
|
|
|
|
# dezelfde service en hetzelfde doelpad in docker-compose.yml, en die wijst naar
|
|
|
|
|
# dezelfde plek als zonder dit slot, dus voor een bestaande installatie
|
2026-10-09 20:41:07 +02:00
|
|
|
# verandert er niets. Sinds image 0.0.4 schrijft de app rechtstreeks in de
|
|
|
|
|
# gekozen map, zonder eigen submap. "Backups" en "Price history" moeten dus elk
|
|
|
|
|
# een eigen map krijgen: twee slots op dezelfde map weigert de app met de
|
|
|
|
|
# melding "gedeeld".
|
2026-10-09 16:16:33 +02:00
|
|
|
#
|
|
|
|
|
# Het `id` is na de eerste release vast: umbrelOS bewaart de keuze van de
|
|
|
|
|
# gebruiker per id, dus hernoemen gooit die weg. Op een netwerkshare valt de map
|
|
|
|
|
# buiten de back-up van umbrelOS, en dat is hier juist de bedoeling.
|
|
|
|
|
folderAccess:
|
|
|
|
|
- id: backups
|
|
|
|
|
name: Backups
|
|
|
|
|
mounts:
|
|
|
|
|
- service: server
|
|
|
|
|
targetPath: /data/backups
|
2026-10-09 17:04:50 +02:00
|
|
|
- id: price-history
|
|
|
|
|
name: Price history
|
|
|
|
|
mounts:
|
|
|
|
|
- service: server
|
|
|
|
|
targetPath: /data/history
|
2026-10-09 12:26:48 +02:00
|
|
|
category: finance
|
|
|
|
|
name: Atreides Services
|
2026-10-10 11:53:29 +02:00
|
|
|
version: "0.0.9"
|
2026-10-09 12:26:48 +02:00
|
|
|
tagline: Your own price feed, recorded around the clock
|
|
|
|
|
description: >-
|
2026-10-09 13:57:12 +02:00
|
|
|
A price service that runs on your Umbrel and keeps what it records. It fetches prices day
|
2026-10-09 14:06:05 +02:00
|
|
|
and night and stores every point with where it came from and when it was fetched. A price
|
|
|
|
|
series per moment cannot be fetched again later, so this one is kept, in your app folder,
|
|
|
|
|
and goes along with your Umbrel backup.
|
2026-10-09 12:26:48 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
It is the companion of Atreides Assets: that app will read its prices from here instead
|
|
|
|
|
of every portfolio asking the providers on its own. The service knows instruments and
|
|
|
|
|
prices, never what anyone owns.
|
|
|
|
|
|
|
|
|
|
|
2026-10-09 13:57:12 +02:00
|
|
|
This is an early version. It records spot prices every minute from Bitvavo and
|
|
|
|
|
mempool.space, and brings the administration app with its System page and an optional
|
2026-10-09 17:41:23 +02:00
|
|
|
login of its own. Other apps read the prices through its API on port 3855, with a token
|
2026-10-09 17:40:50 +02:00
|
|
|
you create on the System page.
|
2026-10-09 12:26:48 +02:00
|
|
|
releaseNotes: >-
|
2026-10-10 11:53:29 +02:00
|
|
|
Import the price history of Atreides Assets on the Storage page, with a preview first;
|
|
|
|
|
only missing prices are added. Fill gaps in a Bitvavo series with minute candles on the
|
|
|
|
|
Data quality page. Add a series for a new instrument on the Instruments page, after a
|
|
|
|
|
test call to the source. Interval, monthly limit and key per source can be changed on
|
|
|
|
|
the Sources page; set mempool.space to 5 minutes, as often as it refreshes.
|
|
|
|
|
The API also takes POST with the parameters as JSON, so a proxy log does not show them.
|
2026-10-09 12:26:48 +02:00
|
|
|
developer: "WhatsNext?"
|
|
|
|
|
website: https://sc.kamenier-hamer.nl/sysop/UmbrelApps
|
|
|
|
|
dependencies: []
|
|
|
|
|
repo: https://sc.kamenier-hamer.nl/sysop/UmbrelApps
|
|
|
|
|
support: https://sc.kamenier-hamer.nl/sysop/UmbrelApps/issues
|
|
|
|
|
# De poort waarop umbrelOS de beheer-app aanbiedt. 3850, 3851 en 3853 zijn van de
|
2026-10-09 17:41:23 +02:00
|
|
|
# andere drie apps in deze store, 3852 is de eigen poort van de relay en 3855 die
|
|
|
|
|
# van de API van deze app (docker-compose.yml).
|
2026-10-09 12:26:48 +02:00
|
|
|
port: 3854
|
|
|
|
|
# Leeg laten bij een nieuw pakket; de plaatjes doet het store-team zelf.
|
|
|
|
|
gallery: []
|
|
|
|
|
path: ""
|
|
|
|
|
submitter: "WhatsNext?"
|
|
|
|
|
submission: https://sc.kamenier-hamer.nl/sysop/UmbrelApps
|
|
|
|
|
|
|
|
|
|
# ── Hieronder staat wat de voorgeschreven volgorde niet noemt ────────────────
|
|
|
|
|
#
|
|
|
|
|
# GEEN defaultPassword. De login van de beheer-app is optioneel en wordt in de
|
|
|
|
|
# app zelf gezet, op de pagina Systeem; zie het commentaar in docker-compose.yml.
|
|
|
|
|
|
|
|
|
|
# Het icoon hoort bij een eigen store en moet bij inlevering in de officiele
|
|
|
|
|
# store juist weg: die host iconen apart. Daarom staat het als laatste.
|
|
|
|
|
icon: https://sc.kamenier-hamer.nl/sysop/UmbrelApps/raw/branch/main/whatsnext-atreides-services/icon.png
|