Aus der statischen Seite wird ein Go-Binary mit eingebetteter Oberfläche. Grund: Apps über .env zu pflegen wurde unübersichtlich, und kosmetische Einstellungen sollen auf jedem Gerät gleich sein. - Anmeldung über den eigenen OIDC-Anbieter (PocketID), mit PKCE. Ohne Anmeldung gibt es nichts zu sehen – auch keine App-Liste. - Sitzung als signiertes Cookie ohne Gegenstück im Server; Schreibzugriffe zusätzlich über ein lesbares CSRF-Cookie abgesichert - Apps werden in der Oberfläche angelegt und bearbeitet, nicht mehr in der .env. Der Server prüft jeden Eintrag und meldet zurück, was er behält. - Einstellungen liegen je Nutzer im Server; localStorage ist nur noch der Vorschuss, damit die Röhre beim Laden nicht in der falschen Farbe blitzt - die Leiste holt die App-Liste aus /api/apps – freigegeben sind allein die Ursprünge, die selbst als App eingetragen sind - Tests fahren einen echten OIDC-Anbieter hoch und gehen den Anmeldeweg einmal ganz durch Ohne HONEYOS_OIDC_ISSUER läuft alles offen – für die Entwicklung, mit deutlicher Warnung beim Start. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
47 lines
2.3 KiB
Bash
47 lines
2.3 KiB
Bash
# ─────────────────────────────────────────────────────────────────────────────
|
|
# HoneyOS
|
|
#
|
|
# cp .env.example .env && ausfüllen
|
|
# docker compose pull && docker compose up -d
|
|
#
|
|
# Apps werden NICHT hier eingetragen — die legst du in der Oberfläche an
|
|
# (Einstellungen → Programme). Sie liegen im Server unter /data/honeyos.json.
|
|
# ─────────────────────────────────────────────────────────────────────────────
|
|
|
|
HONEYOS_PORT=8088
|
|
|
|
# Wo HoneyOS von außen erreichbar ist — ohne Schrägstrich am Ende.
|
|
# Daraus entsteht die Rückrufadresse: <PUBLIC_URL>/api/auth/callback
|
|
HONEYOS_PUBLIC_URL=https://os.honeyy.duckdns.org
|
|
|
|
# Unterschreibt das Sitzungscookie. Mindestens 32 Zeichen.
|
|
# openssl rand -hex 32
|
|
# Wird der Wert getauscht, sind alle Anmeldungen weg — sonst passiert nichts.
|
|
HONEYOS_SESSION_SECRET=
|
|
|
|
# Wo die Daten liegen (Apps + Einstellungen je Nutzer, eine JSON-Datei).
|
|
# Das ist das Einzige, was gesichert werden muss.
|
|
HONEYOS_DATA_DIR=/srv/honeyos
|
|
|
|
# ── Anmeldung ────────────────────────────────────────────────────────────────
|
|
# Leerer HONEYOS_OIDC_ISSUER = KEINE Anmeldung, jeder kommt rein. Das ist zum
|
|
# Entwickeln gedacht und gehört nicht ins offene Netz.
|
|
#
|
|
# In PocketID einen Client anlegen und dort als Rückrufadresse exakt
|
|
# https://os.honeyy.duckdns.org/api/auth/callback
|
|
# eintragen. HoneyOS schickt PKCE mit, ein Client-Geheimnis braucht es
|
|
# trotzdem — also keinen „public client" anlegen.
|
|
HONEYOS_OIDC_ISSUER=https://id.honeyy.duckdns.org
|
|
HONEYOS_OIDC_CLIENT_ID=honeyos
|
|
HONEYOS_OIDC_CLIENT_SECRET=
|
|
# Nur nötig, wenn die Rückrufadresse von PUBLIC_URL abweicht:
|
|
# HONEYOS_OIDC_REDIRECT_URL=
|
|
|
|
# Beschriftung des einen Knopfes auf dem Anmeldeschirm.
|
|
HONEYOS_BUTTON_LABEL=Anmelden mit PocketID
|
|
|
|
# Zweiter Riegel neben den Gruppen in PocketID: nur diese Konten dürfen rein
|
|
# (Benutzername oder sub, kommagetrennt). Leer = jeder, den der Anbieter
|
|
# durchlässt.
|
|
# HONEYOS_ALLOWED_USERS=marc
|