Statische Oberfläche vor Aether und InkNote: kein Backend, kein Build, nginx liefert web/ aus. Jede App bleibt ihre eigene PWA auf ihrer eigenen Domain – HoneyOS ist Startpunkt und Umschalter, kein iframe-Rahmen. - zwei Betriebsarten aus einem Datenstand: Terminal (Kacheln, Tastatur) und Desktop (Symbole, verschiebbare Fenster, Taskleiste) - honeybar.js als Drop-in für die Apps, rendert im Shadow DOM, damit Tailwind und die InkNote-Palette einander nicht in die Quere kommen - Konfiguration vollständig aus der .env: das Skript in /docker-entrypoint.d/ schreibt config.json beim Containerstart - optionaler _ME-Pfad pro App zeigt an, wer angemeldet ist; ohne CORS bleibt die Anzeige leer, ohne dass etwas kaputtgeht Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
21 lines
828 B
Docker
21 lines
828 B
Docker
# HoneyOS — statisch. Kein Build, kein Backend: nginx liefert web/ aus.
|
|
#
|
|
# Die Konfiguration entsteht beim Start aus der .env — das Skript in
|
|
# /docker-entrypoint.d/ schreibt config.json, bevor nginx hochkommt.
|
|
FROM nginx:1.27-alpine
|
|
|
|
LABEL org.opencontainers.image.title="HoneyOS" \
|
|
org.opencontainers.image.description="Retro-Schreibtisch und Umschalter für die eigenen Apps" \
|
|
org.opencontainers.image.source="https://gitea.honeyy.duckdns.org/Docker/HoneyOS"
|
|
|
|
COPY nginx.conf /etc/nginx/conf.d/default.conf
|
|
COPY docker-entrypoint.d/20-honeyos-config.sh /docker-entrypoint.d/20-honeyos-config.sh
|
|
COPY web/ /usr/share/nginx/html/
|
|
|
|
RUN chmod +x /docker-entrypoint.d/20-honeyos-config.sh
|
|
|
|
EXPOSE 80
|
|
|
|
HEALTHCHECK --interval=30s --timeout=3s --start-period=5s \
|
|
CMD wget -qO- http://127.0.0.1/healthz || exit 1
|