Installation

Dieses Kapitel beschreibt die vollständige Installation von libreStage auf einem eigenen Server oder auf einem lokalen Rechner für die Entwicklung.

Prerequisites

The following software must be installed on the target system:

Software

Minimum version

Note

Python

3.11

Recommended: 3.12+

Node.js

18

For the frontend (SvelteKit)

npm

9

Installed with Node.js

Git

any

For cloning the repository

Clone the repository

git clone <repository-url>
cd libre-stage

Set up the backend

libreStage verwendet uv als Python-Paketmanager.

pip install uv
uv sync --all-groups

Configure environment variables

Copy the example configuration and adjust it:

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 Configuration beschrieben.

Initialise the database

uv run alembic upgrade head

Optional: Demo-Datenbank laden

uv run python backend/migrations/init_demo_db.py

Set up the frontend

cd frontend && npm install && cd ..

Start the application

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

The application is then available at the following addresses:

First login

Note

Screenshot folgt – bitte docs/manual/_static/screenshots/login.png ablegen.

Beim ersten Start mit der Demo-Datenbank stehen folgende Accounts zur Verfügung:

Username

Password

Role

Description

admin

Admin1234!

admin

Full administrative rights

alice

Demo1234!

editor

Singer, can edit content

bob

Demo1234!

editor

Singer (m), can edit content

carol

Demo1234!

musician

Musician, read access + own todos

dave

Demo1234!

musician

Musician (m), read access + own todos

Warning

Ändere vor dem produktiven Einsatz unbedingt alle Demo-Passwörter und setze einen sicheren SECRET_KEY in der .env-Datei!

Production

For production use, the following is recommended:

  • Frontend mit npm run build bauen – statische Dateien liegen in frontend/build/

  • Run the backend behind a reverse proxy (nginx, Caddy)

  • ENVIRONMENT=production in .env setzen (aktiviert Secure-Cookie-Flag)

  • Use PostgreSQL instead of SQLite for multi-user operation under load

  • Set up regular database backups