Marc stellt Pangolin davor und will keinen zweiten Anmeldeschirm. - HONEYOS_PROXY_AUTH=true: HoneyOS prüft nicht mehr selbst, der Start sagt deutlich, dass der Container dann nur über den Proxy erreichbar sein darf. Mit HONEYOS_USER_HEADER bekommt jeder Name seine eigenen Einstellungen. - HONEYOS_APPS_KEY schützt /api/apps. Nötig, weil HoneyOS auf einer anderen Site liegt als die Apps (duckdns.org steht auf der Public-Suffix-Liste) – der Browser schickt die Sitzung dort nicht mit, und der Pfad muss im Proxy von der Anmeldung befreit sein. Beim Durchspielen mit zwei echten Hostnamen fiel ein Loch auf: Ohne eigene Anmeldung gilt jede Anfrage als angemeldet, also gab der Rückfall auf diese Prüfung die Liste an jeden heraus – auch ohne oder mit falschem Schlüssel. Der Rückfall greift jetzt nur noch, wo es wirklich eine Sitzung geben kann. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
67 lines
3.4 KiB
Bash
67 lines
3.4 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 ────────────────────────────────────────────────────────────────
|
|
# Genau einer der beiden Wege:
|
|
#
|
|
# A) Ein Proxy davor meldet an (Pangolin, Authelia, …) — HoneyOS fragt nicht
|
|
# noch einmal. Dann NUR das hier setzen:
|
|
HONEYOS_PROXY_AUTH=true
|
|
# Optional: Kopfzeile, in die der Proxy den Nutzernamen schreibt. Ohne sie
|
|
# teilen sich alle einen Satz Einstellungen — bei einer Person völlig ok.
|
|
# HONEYOS_USER_HEADER=Remote-User
|
|
#
|
|
# ⚠ In diesem Betrieb prüft HoneyOS selbst nichts mehr. Der Container darf
|
|
# dann NUR über den Proxy erreichbar sein — nicht zusätzlich auf einem
|
|
# offenen Port im Netz hängen.
|
|
#
|
|
# B) HoneyOS meldet selbst an, mit eigenem Anmeldeschirm. Dann PROXY_AUTH
|
|
# weglassen und stattdessen:
|
|
# HONEYOS_SESSION_SECRET= # openssl rand -hex 32
|
|
# HONEYOS_OIDC_ISSUER=https://id.example.com
|
|
# HONEYOS_OIDC_CLIENT_ID=honeyos
|
|
# HONEYOS_OIDC_CLIENT_SECRET=
|
|
# HONEYOS_OIDC_REDIRECT_URL= # nur wenn abweichend von PUBLIC_URL
|
|
# HONEYOS_BUTTON_LABEL=Anmelden mit PocketID
|
|
# HONEYOS_ALLOWED_USERS=marc # zweiter Riegel neben den IdP-Gruppen
|
|
|
|
# ── Schlüssel für die App-Liste ──────────────────────────────────────────────
|
|
# Nötig, sobald die Leiste in einer App läuft, die auf einer ANDEREN Site liegt
|
|
# als HoneyOS — etwa honeyos.duckdns.org gegenüber cloud.honeyy.duckdns.org.
|
|
# Der Browser schickt die Sitzung dann nicht mit, und ohne zweiten Ausweis
|
|
# bekäme die Leiste nie eine Liste.
|
|
#
|
|
# Ist der Pfad /api/apps im Proxy von der Anmeldung befreit, ist dieser
|
|
# Schlüssel das Einzige, was davorsteht. Dann setzen.
|
|
# openssl rand -hex 16
|
|
HONEYOS_APPS_KEY=
|
|
|
|
# Derselbe Wert gehört in das <script>-Tag der App:
|
|
# <script defer src="https://honeyos.duckdns.org/honeybar/honeybar.js"
|
|
# data-app="aether" data-key="…"></script>
|
|
#
|
|
# Zusätzlich lässt HoneyOS die Liste nur an Ursprünge heraus, die selbst als App
|
|
# eingetragen sind. Der Schlüssel allein nützt einer fremden Seite also nichts.
|