Files
HoneyOS/.env.example
T
marcandClaude Opus 5 283f9a1850 feat: Backend mit OIDC-Anmeldung, Apps und Einstellungen im Server
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>
2026-08-24 15:20:55 +02:00

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