Schoolbord: het pakket, nog zonder gepinde image
Compose, manifest (poort 3856), icoon en data/app. Niet pushen voor release-bump: de tag 0.0.1 bestaat pas na de eerste build in Schoolbord. Tests: test_appstore_vorm.py 110 goed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
8c33f5348b
commit
0051587103
5 files changed
+97
No files matched your search
@@ -9,6 +9,7 @@ A community app store for [Umbrel](https://umbrel.com), store id `whatsnext`. Ad
|
|||||||
| **Evolu Relay** | Run the sync relay behind Trezor Suite's labels on your own Umbrel, with an owner allowlist. |
|
| **Evolu Relay** | Run the sync relay behind Trezor Suite's labels on your own Umbrel, with an owner allowlist. |
|
||||||
| **Atreides Assets** | A self-hosted overview of your crypto and precious metals. |
|
| **Atreides Assets** | A self-hosted overview of your crypto and precious metals. |
|
||||||
| **Atreides Services** | Your own price feed for Atreides Assets, recorded around the clock. Early version. |
|
| **Atreides Services** | Your own price feed for Atreides Assets, recorded around the clock. Early version. |
|
||||||
|
| **Schoolbord** | Tenants, agreements and monthly invoices for a small venue, in Dutch. Early version. |
|
||||||
|
|
||||||
The image recipes for the first two are in [tools/](tools/); the tests are in [tests/](tests/).
|
The image recipes for the first two are in [tools/](tools/); the tests are in [tests/](tests/).
|
||||||
|
|
||||||
|
|||||||
Whitespace-only changes.
@@ -0,0 +1,44 @@
|
|||||||
|
# ═══════════════════════════════════════════════════════════════════════════════
|
||||||
|
# Schoolbord - huurders, afspraken en maandfacturen voor Schooltje Boschoord.
|
||||||
|
#
|
||||||
|
# Eén container: de Node-server serveert de app én bezit de database. Het recept
|
||||||
|
# staat NIET in deze repo maar in `HomeGit/Schoolbord` (de Dockerfile in de root
|
||||||
|
# daar), net als bij Atreides Assets en Atreides Services.
|
||||||
|
#
|
||||||
|
# Een web-UI zonder eigen login: hij hangt volledig achter app_proxy, zonder
|
||||||
|
# `ports:`. De inlog van umbrelOS is het slot.
|
||||||
|
# ═══════════════════════════════════════════════════════════════════════════════
|
||||||
|
|
||||||
|
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.
|
||||||
|
app_proxy:
|
||||||
|
environment:
|
||||||
|
APP_HOST: whatsnext-schoolbord_server_1
|
||||||
|
APP_PORT: 8095
|
||||||
|
|
||||||
|
server:
|
||||||
|
# De eerste release zet `node tools/release-bump.mjs whatsnext-schoolbord
|
||||||
|
# <versie> <digest>` hier neer, met de digest erbij. Push deze repo niet
|
||||||
|
# vóór die stap: dan staat hier een tag die het register nog niet kent.
|
||||||
|
#
|
||||||
|
# DE TAG IS DE VERSIE VAN DE IMAGE EN NIET DIE VAN DE APP: `version` in
|
||||||
|
# umbrel-app.yml moet bij élke wijziging omhoog, ook als alleen dit bestand
|
||||||
|
# verandert.
|
||||||
|
image: sc.kamenier-hamer.nl/sysop/schoolbord:0.0.1
|
||||||
|
restart: on-failure
|
||||||
|
# Geen `user:` nodig: de image zet zelf `USER node` (uid 1000), en umbrelOS
|
||||||
|
# maakt de datamap aan als `umbrel`, ook uid 1000 (gemeten bij Atreides
|
||||||
|
# Services op 09-10-2026). Geen healthcheck hier: die zit in de image.
|
||||||
|
environment:
|
||||||
|
# ZONDER DIT IS DE APP ONBEREIKBAAR. De server bindt op 127.0.0.1, 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 `ports:` plus de proxy.
|
||||||
|
SCHOOLBORD_HOST: "0.0.0.0"
|
||||||
|
volumes:
|
||||||
|
# De datamap: db.sqlite, de hele administratie. Dit is de map die in de
|
||||||
|
# back-up van umbrelOS hoort. Met `storage: dataRoot: data` in het manifest
|
||||||
|
# kan umbrelOS 2.0 hem naar een USB-schijf verplaatsen; daarom staat
|
||||||
|
# data/app in de repo (.gitkeep) en staat hier geen mount-optie bij.
|
||||||
|
- ${APP_DATA_DIR}/data/app:/data
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 95 KiB |
@@ -0,0 +1,52 @@
|
|||||||
|
# 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-schoolbord
|
||||||
|
# umbrelOS 2.0: de gebruiker kan de datamap naar een USB-schijf (ext4) verplaatsen.
|
||||||
|
# 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
|
||||||
|
category: finance
|
||||||
|
name: Schoolbord
|
||||||
|
version: "0.0.1"
|
||||||
|
tagline: Tenants, agreements and monthly invoices for a small venue
|
||||||
|
description: >-
|
||||||
|
Schoolbord keeps the tenants of a small venue, the agreements made with them, and what follows
|
||||||
|
from those: every lesson, workshop and booking of a month, with cancellations, moves and extra
|
||||||
|
bookings. The overview shows this month's revenue, the coming week and revenue per month.
|
||||||
|
|
||||||
|
|
||||||
|
It was made for Schooltje Boschoord and speaks Dutch. Everything stays in your app folder on your
|
||||||
|
Umbrel and goes along with your Umbrel backup.
|
||||||
|
releaseNotes: >-
|
||||||
|
The first version: tenants, agreements with weekly, fortnightly, monthly and one-off patterns, the
|
||||||
|
month with cancelling and moving, rates, and the overview. Invoices follow in a next version.
|
||||||
|
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 app aanbiedt. 3850 tot en met 3855 zijn van de
|
||||||
|
# andere apps in deze store (3852 en 3855 als eigen poorten van de Relay en van
|
||||||
|
# de API van Atreides Services).
|
||||||
|
port: 3856
|
||||||
|
# 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 app heeft geen eigen login; de inlog van umbrelOS is
|
||||||
|
# het slot.
|
||||||
|
|
||||||
|
# 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. De boom
|
||||||
|
# van het Schooltje op beige, van de website.
|
||||||
|
icon: https://sc.kamenier-hamer.nl/sysop/UmbrelApps/raw/branch/main/whatsnext-schoolbord/icon.png
|
||||||
Reference in new issue
Block a user