Installation
Dieses Kapitel beschreibt die vollständige Installation von libreStage auf einem eigenen Server oder auf einem lokalen Rechner für die Entwicklung.
Voraussetzungen
Folgende Software muss auf dem Zielsystem installiert sein:
Software |
Mindestversion |
Hinweis |
|---|---|---|
Python |
3.11 |
Empfohlen: 3.12+ |
Node.js |
18 |
Für das Frontend (SvelteKit) |
npm |
9 |
Wird mit Node.js installiert |
Git |
beliebig |
Für das Klonen des Repositories |
Repository klonen
git clone <repository-url>
cd libre-stage
Backend einrichten
libreStage verwendet uv als Python-Paketmanager.
pip install uv
uv sync --all-groups
Umgebungsvariablen konfigurieren
Kopiere die Beispiel-Konfiguration und passe sie an:
cp .env.example .env
Öffne anschließend .env in einem Texteditor und setze mindestens den SECRET_KEY
(langer, zufälliger String). Alle verfügbaren Variablen sind in Konfiguration beschrieben.
Datenbank initialisieren
uv run alembic upgrade head
Optional: Demo-Datenbank laden
uv run python backend/migrations/init_demo_db.py
Frontend einrichten
cd frontend && npm install && cd ..
Anwendung starten
Terminal 1 – Backend:
uv run uvicorn backend.main:app --host 0.0.0.0 --port 8000 --reload
Terminal 2 – Frontend:
cd frontend && npm run dev
Die Anwendung ist danach unter folgenden Adressen erreichbar:
Frontend: http://localhost:5173
API-Dokumentation (Swagger): http://localhost:8000/docs
Erster Login
Bemerkung
Screenshot folgt – bitte docs/manual/_static/screenshots/login.png ablegen.
Beim ersten Start mit der Demo-Datenbank stehen folgende Accounts zur Verfügung:
Benutzername |
Passwort |
Rolle |
Beschreibung |
|---|---|---|---|
|
|
admin |
Vollständige Verwaltungsrechte |
|
|
editor |
Sängerin, kann Inhalte bearbeiten |
|
|
editor |
Sänger, kann Inhalte bearbeiten |
|
|
musician |
Musikerin, Lesezugriff + eigene Todos |
|
|
musician |
Musiker, Lesezugriff + eigene Todos |
Warnung
Ändere vor dem produktiven Einsatz unbedingt alle Demo-Passwörter und setze
einen sicheren SECRET_KEY in der .env-Datei!
Produktion
Für den produktiven Betrieb empfiehlt sich:
Frontend mit
npm run buildbauen – statische Dateien liegen infrontend/build/Backend hinter einem Reverse-Proxy (nginx, Caddy) betreiben
ENVIRONMENT=productionin.envsetzen (aktiviert Secure-Cookie-Flag)PostgreSQL statt SQLite für Mehrbenutzerbetrieb unter Last
Regelmäßige Datenbank-Backups einrichten