2026-09-07 12:21:53 +02:00
2026-09-07 12:21:53 +02:00
2026-09-07 12:21:53 +02:00
2026-09-07 12:21:53 +02:00
2026-09-07 12:21:53 +02:00
2026-09-07 12:21:53 +02:00

📖 Freundesbuch (digital)

Ein selbst gehostetes, digitales Freundschaftsbuch. Kein Benutzer-System nur ein Admin-Passwort für dich, und pro Freund ein frei wählbares Freigabe-Passwort zum Teilen.

Funktionen

  • Ein Passwort für den Admin-Bereich (als SHA-256-Hash in docker-compose.yml, kein Klartext).
  • Freunde anlegen jeder Freund ist ein eigener Ordner auf dem Server (Name-zufallsID).
  • Jeder Freund hat ein Profilbild und einen Steckbrief (klassische Freundebuch-Felder).
  • Beliebig viele Blöcke pro Freund: 🖼️ Bild, 📝 Text, 🎙️ Audio (MP3 o. ä.) alles wird im jeweiligen Freundes-Ordner gespeichert.
  • Freigabe-Link: Für jeden Freund kannst du einen Link mit eigenem Passwort erzeugen. Damit kann sich der Freund nur in seine eigene Seite einloggen und dort Inhalte hinzufügen/bearbeiten. Die Freigabe kannst du jederzeit als Admin beenden.
  • Freundesbuch-Ansicht: verspieltes Scrapbook-Layout mit schräg angeordneten Polaroid-Fotos, Washi-Tape-Optik usw. seitenweise durchblätterbar.
  • PDF-Export des gesamten Freundesbuchs (serverseitig über Puppeteer/Chromium gerendert).

Setup

  1. Admin-Passwort festlegen Hash erzeugen:

    echo -n "DeinPasswort" | sha256sum
    

    (macOS: shasum -a 256, Windows/PowerShell: certutil -hashfile datei.txt SHA256 oder ein Online-Tool deines Vertrauens wichtig ist nur SHA-256 in Kleinbuchstaben-Hex.)

    Den Hash in docker-compose.yml bei ADMIN_PASSWORD_HASH eintragen.

    ⚠️ Der mitgelieferte Standard-Hash entspricht dem Passwort aendern123 bitte vor dem Livegang unbedingt ändern!

  2. Session-Secret ändern SESSION_SECRET in docker-compose.yml durch eine lange, zufällige Zeichenkette ersetzen (z. B. openssl rand -hex 32).

  3. Starten:

    docker compose up -d --build
    

    Die Anwendung läuft danach auf http://<server>:3000.

  4. Alle Daten (Freunde-Ordner, Fotos, Texte, Audios) landen im lokalen Ordner ./data, der als Volume eingebunden ist so bleiben sie auch bei Container-Updates erhalten.

Nutzung

  • / Login mit dem Admin-Passwort.
  • /admin Übersicht: Freunde anlegen, bearbeiten, Freigabe verwalten, löschen.
  • /friend/<id> Freund bearbeiten (Profilbild, Steckbrief, Blöcke) für dich als Admin.
  • /share/<id> der Link, den du deinem Freund gibst. Er meldet sich mit dem von dir vergebenen Freigabe-Passwort an und kann nur dort etwas eintragen.
  • /book die verspielte Freundesbuch-Ansicht mit Blätterfunktion und PDF-Export (Button oben rechts).

Hinweise

  • Ordnerstruktur pro Freund: data/friends/<name>-<zufalls-id>/ mit meta.json (Steckbrief, Blöcke, Freigabe-Status) und Unterordner uploads/ für Fotos/Audios.
  • Erlaubte Upload-Typen: Bilder (jpg, png, gif, webp) und Audio (mp3, wav, ogg, m4a), maximal 40 MB pro Datei.
  • Der PDF-Export rendert das Buch serverseitig mit Chromium (im Docker-Image enthalten) dafür braucht der Container etwas RAM (mind. 512 MB empfohlen).
  • Es gibt bewusst keine Benutzernamen oder E-Mail-Adressen nur Passwörter.
Description
No description provided
Readme 249 KiB
Languages
JavaScript 73.6%
HTML 13.5%
CSS 12.3%
Dockerfile 0.6%