Installation ohne Container (Node.js)¶
Diese Anleitung führt dich durch die Installation von OpenLibry direkt auf dem System – ideal für Raspberry Pi oder wenn du volle Kontrolle brauchst.
Willst du HTTPS mit eigener Domain? Folge erst dieser Anleitung, dann nginx & SSL.
Voraussetzungen¶
- Linux-System (Ubuntu, Debian, Raspberry Pi OS)
- Mindestens 1 GB RAM (2 GB empfohlen)
- 2 GB freier Speicherplatz
Schritt 1: System vorbereiten¶
# System aktualisieren
sudo apt-get update
sudo apt-get upgrade -y
# Benötigte Pakete installieren
sudo apt install curl git -y
Schritt 2: Node.js installieren¶
OpenLibry benötigt Node.js 20.19+ oder 22+. Wir installieren Node.js über das NodeSource-Repository:
# NodeSource Repository hinzufügen (Node 22 LTS)
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
# Node.js installieren
sudo apt-get install -y nodejs
# Prüfen
node --version
npm --version
Node sollte Version 22.x anzeigen.
Schritt 3: OpenLibry herunterladen¶
# Repository klonen
git clone https://github.com/jzakotnik/openlibry.git
cd openlibry
# Environment-Datei erstellen
cp .env_example .env
Schritt 4: Environment konfigurieren¶
Bearbeite die .env-Datei:
Wichtige Einstellungen:
AUTH_ENABLED=false
NEXTAUTH_SECRET=dein-geheimer-schluessel-hier
NEXTAUTH_URL=http://localhost:3000
DATABASE_URL=file:./database/dev.db
Hinweise:
- Generiere einen sicheren
NEXTAUTH_SECRETmitopenssl rand -base64 32 - Falls du OpenLibry über eine andere Adresse erreichst (z.B. IP-Adresse im Netzwerk oder Domain), passe
NEXTAUTH_URLentsprechend an:
Schritt 5: Abhängigkeiten installieren¶
Auf einem Raspberry Pi kann das einige Minuten dauern.
Schritt 6: Datenbank einrichten¶
Schritt 7: OpenLibry starten¶
Zum Testen (Entwicklungsmodus)¶
Öffne http://localhost:3000 im Browser. Mit Strg+C beenden.
Für Produktion¶
Für den Dauerbetrieb nutzen wir pm2 als Prozess-Manager:
# pm2 global installieren
sudo npm install -g pm2
# Produktions-Build erstellen
npm run build
# Mit pm2 starten
pm2 start npm --name "openlibry" -- start
# Autostart nach Neustart aktivieren
pm2 startup
pm2 save
Schritt 8: Ersten Benutzer anlegen¶
- Öffne
http://localhost:3000/auth/register - Erstelle einen Admin-Benutzer
- Bearbeite die
.envund setzeAUTH_ENABLED=true - Neu starten:
pm2 restart openlibry
pm2-Befehle¶
# Status anzeigen
pm2 status
# Logs anzeigen
pm2 logs openlibry
# Neu starten
pm2 restart openlibry
# Stoppen
pm2 stop openlibry
# Aus pm2 entfernen
pm2 delete openlibry
Port-Freigabe¶
Falls eine Firewall installiert ist, muss Port 3000 freigegeben sein:
Dann erreichbar unter http://<IP-ADRESSE>:3000.
Raspberry Pi: Performance-Tipps¶
Auf einem Raspberry Pi kann OpenLibry etwas langsamer sein. Einige Tipps:
-
Swap erhöhen (bei wenig RAM):
-
Build auf schnellerem Rechner: Du kannst den Build auf einem schnelleren Computer erstellen und dann nur die fertigen Dateien auf den Pi kopieren.
-
Caching: Nach dem ersten Laden sind die meisten Seiten schneller, da Next.js cacht.
Updates installieren¶
cd ~/openlibry
# Neueste Version holen
git pull
# Abhängigkeiten aktualisieren
npm install
# Prisma Client neu generieren und Datenbank-Schema aktualisieren
npx prisma generate
npx prisma db push
# Neu bauen und starten
npm run build
pm2 restart openlibry
Nächste Schritte¶
- nginx & SSL einrichten – Für HTTPS und eigene Domain
- Konfiguration – Labels, Mahnungen, etc.
- Upgrading – Auf neue Versionen aktualisieren