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>
33 lines
1.5 KiB
YAML
33 lines
1.5 KiB
YAML
# ─────────────────────────────────────────────
|
|
# HoneyOS — Betrieb aus der Gitea-Registry
|
|
#
|
|
# mkdir -p /srv/honeyos && chown 1000:1000 /srv/honeyos
|
|
# cp .env.example .env && ausfüllen
|
|
# docker login gitea.honeyy.duckdns.org
|
|
# docker compose pull && docker compose up -d
|
|
#
|
|
# Zu sichern ist genau eine Datei: ${HONEYOS_DATA_DIR}/honeyos.json — darin
|
|
# stehen die Apps und die Einstellungen je Nutzer. Sichere sie zusammen mit
|
|
# der .env; ohne HONEYOS_SESSION_SECRET müssen sich alle neu anmelden.
|
|
# ─────────────────────────────────────────────
|
|
|
|
services:
|
|
honeyos:
|
|
image: gitea.honeyy.duckdns.org/docker/honeyos:latest
|
|
container_name: honeyos
|
|
restart: unless-stopped
|
|
user: "1000:1000"
|
|
ports:
|
|
- "${HONEYOS_PORT:-8088}:8080"
|
|
volumes:
|
|
- ${HONEYOS_DATA_DIR:-/srv/honeyos}:/data
|
|
environment:
|
|
- HONEYOS_PUBLIC_URL=${HONEYOS_PUBLIC_URL:-}
|
|
- HONEYOS_SESSION_SECRET=${HONEYOS_SESSION_SECRET:-}
|
|
- HONEYOS_OIDC_ISSUER=${HONEYOS_OIDC_ISSUER:-}
|
|
- HONEYOS_OIDC_CLIENT_ID=${HONEYOS_OIDC_CLIENT_ID:-}
|
|
- HONEYOS_OIDC_CLIENT_SECRET=${HONEYOS_OIDC_CLIENT_SECRET:-}
|
|
- HONEYOS_OIDC_REDIRECT_URL=${HONEYOS_OIDC_REDIRECT_URL:-}
|
|
- HONEYOS_BUTTON_LABEL=${HONEYOS_BUTTON_LABEL:-Anmelden}
|
|
- HONEYOS_ALLOWED_USERS=${HONEYOS_ALLOWED_USERS:-}
|