Administrator-Dokumentation¶
Diese Dokumentation richtet sich an Administratoren, die das L-AGE Immobilien Dashboard einrichten und verwalten.
Ersteinrichtung¶
1. Umgebungsvariablen konfigurieren¶
Bevor Sie das System starten, müssen Sie die Umgebungsvariablen in der .env-Datei konfigurieren.
- Kopieren Sie die
.env.example-Datei:
cp .env.example .env
- Öffnen Sie die
.env-Datei und passen Sie die folgenden wichtigen Einstellungen an:
Datenbank-Einstellungen¶
POSTGRES_USER=postgres_lage
POSTGRES_PASSWORD=Ihr-starkes-Datenbank-Passwort
POSTGRES_DB=enterprise_db
DATABASE_URL=postgresql://postgres_lage:Ihr-starkes-Datenbank-Passwort@postgres:5432/enterprise_db
Admin-Benutzer¶
ADMIN_USERNAME=admin
ADMIN_PASSWORD=Ihr-starkes-Admin-Passwort
ADMIN_EMAIL=admin@ihre-domain.de
SMTP-Einstellungen (für E-Mail-Versand)¶
SMTP_SERVER=smtp.ihre-domain.de
SMTP_PORT=587
SMTP_USER=ihre-email@ihre-domain.de
SMTP_PASSWORD=Ihr-E-Mail-Passwort
EMAIL_FROM=ihre-email@ihre-domain.de
Postfix Mail Relay (für interne E-Mail-Weiterleitung)¶
POSTFIX_myhostname=ihre-domain.de
POSTFIX_relayhost=[smtp.ihre-domain.de]:587
POSTFIX_sasl_auth_enable=yes
POSTFIX_sasl_password_maps=static:${SMTP_USER}:${SMTP_PASSWORD}
POSTFIX_sasl_security_options=noanonymous
POSTFIX_smtp_tls_security_level=encrypt
POSTFIX_smtp_tls_wrappermode=no
Sicherheit¶
SECRET_KEY=Ihr-geheimer-Schlüssel-hier-ändern-in-Produktion
INTERNAL_API_SECRET=Ihr-interner-API-Schlüssel
!!! warning "Wichtige Sicherheitshinweise" - Verwenden Sie starke, einzigartige Passwörter - Ändern Sie den SECRET_KEY in Produktion - Speichern Sie sensible Daten sicher (z.B. in Bitwarden)
2. System starten¶
Nach der Konfiguration der .env-Datei starten Sie das System:
docker compose up --build
Erstmaliger Start
Beim ersten Start kann der Build-Prozess einige Minuten dauern.
3. Admin-Benutzer¶
Beim ersten Start wird automatisch ein Admin-Benutzer erstellt mit den Einstellungen aus der .env-Datei.
Standard-Admin-Zugangsdaten:
- Benutzername: Wie in
ADMIN_USERNAMEdefiniert (standard: admin) - Passwort: Wie in
ADMIN_PASSWORDdefiniert - E-Mail: Wie in
ADMIN_EMAILdefiniert
Passwort in Logs finden
Falls Sie das Admin-Passwort vergessen haben, können Sie es in den Logs des Backend-Services einsehen:
1. Öffnen Sie Portainer
2. Gehen Sie zu "Containers" → "backend"
3. Klicken Sie auf "Logs"
4. Suchen Sie nach der Zeile: "Superuser created - Username: admin, Password: ..."
4. Admin-Passwort ändern¶
Nach der ersten Anmeldung sollten Sie das Admin-Passwort ändern:
- Melden Sie sich als Admin an
- Gehen Sie zu "Einstellungen" → "Sicherheit"
- Ändern Sie das Passwort
- Speichern Sie die Änderungen
Verwaltung¶
Benutzer verwalten¶
Als Administrator können Sie:
- Neue Benutzer erstellen
- Benutzerberechtigungen ändern
- Benutzer deaktivieren
- Passwörter zurücksetzen
System überwachen¶
Verwenden Sie diese Tools zur Überwachung:
- Portainer: Container-Management und Logs
- PGAdmin: Datenbank-Überwachung
- Filebrowser: Datei-Management
- Backend-Logs: Über die API oder Portainer
Backups¶
Regelmäßige Backups sind wichtig:
- Datenbank-Backup:
docker exec postgres pg_dump -U postgres_lage enterprise_db > backup.sql
- Volumes sichern: Verwenden Sie Docker-Volume-Backups
Updates¶
Um das System zu aktualisieren:
- Stoppen Sie die Container:
docker compose down
- Ziehen Sie die neuesten Änderungen:
git pull
- Starten Sie das System neu:
docker compose up --build
Fehlerbehebung¶
Häufige Probleme¶
Container starten nicht¶
- Überprüfen Sie die
.env-Datei auf Syntaxfehler - Kontrollieren Sie die Logs:
docker compose logs
Datenbank-Verbindungsfehler¶
- Stellen Sie sicher, dass die PostgreSQL-Credentials korrekt sind
- Überprüfen Sie, ob der Postgres-Container läuft
E-Mail-Versand funktioniert nicht¶
- Überprüfen Sie die SMTP-Einstellungen
- Testen Sie die Verbindung manuell
Zugriffsprobleme¶
- Kontrollieren Sie die Firewall-Einstellungen
- Überprüfen Sie die Nginx-Konfiguration
Support¶
Bei technischen Problemen:
- Überprüfen Sie die Logs aller Dienste
- Suchen Sie in dieser Dokumentation
- Kontaktieren Sie den Entwickler-Support
Sicherheit¶
Best Practices¶
- Verwenden Sie HTTPS in Produktion
- Regelmäßige Passwort-Änderungen
- Zugriffsrechte minimal halten
- Regelmäßige Backups
- System-Updates zeitnah einspielen
Notfall-Zugang¶
Bewahren Sie einen Notfall-Zugang auf:
- Admin-Zugangsdaten sicher speichern
- Backup der
.env-Datei - Dokumentation der wichtigen Einstellungen
Deployment auf Hetzner¶
Vorbereitung¶
- Server-Zugang: Stellen Sie sicher, dass Sie SSH-Zugang zu Ihrem Hetzner-Server haben
- Docker installieren: Docker und Docker Compose müssen auf dem Server installiert sein
- Domain konfigurieren: Ihre Domain sollte auf die Hetzner-Server-IP zeigen
HTTPS-Deployment einrichten¶
Für die Produktionsumgebung mit HTTPS verwenden Sie die hetzner-deployment/ Konfiguration:
- Verzeichnis erstellen:
mkdir -p /opt/lage-dashboard
cd /opt/lage-dashboard
- Repository klonen:
git clone https://github.com/L-AGE-Dev/Dashboard.git .
- HTTPS-Konfiguration vorbereiten:
cd hetzner-deployment
cp .env.https.example .env.https
!!! info "Beispiel-Datei"
Die .env.https.example enthält alle notwendigen Variablen mit Platzhaltern. Kopieren Sie diese und passen Sie die Werte an Ihre Umgebung an.
-
.env.https konfigurieren: Öffnen Sie
.env.httpsund passen Sie folgende wichtige Einstellungen an: -
SERVER_IP: Ihre Hetzner-Server-IP POSTGRES_USERundPOSTGRES_PASSWORD: Sichere Datenbank-ZugangsdatenSECRET_KEY: Ein sicherer, zufälliger SchlüsselSMTP_*: E-Mail-Konfiguration-
Alle anderen sensiblen Daten
-
SSL-Zertifikate vorbereiten: Nginx Proxy Manager wird automatisch Let's Encrypt Zertifikate für Ihre Domains ausstellen.
Deployment ausführen¶
- System starten:
docker compose -f docker-compose.https.yml up -d
-
Nginx Proxy Manager konfigurieren:
-
Öffnen Sie
http://ihre-server-ip:81 - Melden Sie sich an (Standard: admin@example.com / changeme)
-
Fügen Sie Ihre Domains hinzu:
dashboard.ihre-domain.de→frontend:3000api.ihre-domain.de→backend:8000pgadmin.ihre-domain.de→pgadmin:80portainer.ihre-domain.de→portainer:9000docs.ihre-domain.de→docs:8000files.ihre-domain.de→file-manager:80
-
SSL-Zertifikate aktivieren: Für jede Proxy-Host-Konfiguration:
- SSL-Tab öffnen
- "Request a new SSL Certificate" auswählen
- Ihre E-Mail-Adresse eingeben
- Zertifikat anfordern
Nach dem Deployment¶
- Admin-Passwort ändern: Wie oben beschrieben
- Domains testen: Stellen Sie sicher, dass alle HTTPS-URLs funktionieren
- Backups einrichten: Regelmäßige Backups der Volumes und Datenbank
- Monitoring: Überwachen Sie die Container-Logs und Ressourcenverbrauch
Wichtige Unterschiede zur lokalen Entwicklung¶
- Ports: In Produktion sind die Dienste nur intern erreichbar, Nginx leitet weiter
- Domains: Verwenden Sie echte Domains statt localhost
- SSL: HTTPS ist standardmäßig aktiviert
- Sicherheit: Verwenden Sie starke Passwörter und sichere Schlüssel
- Backups: Regelmäßige Backups sind kritisch
Fehlerbehebung¶
- Container starten nicht: Logs prüfen mit
docker compose -f docker-compose.https.yml logs - SSL-Zertifikate: Nginx Proxy Manager Logs überprüfen
- Domain-Probleme: DNS-Einstellungen bei Ihrem Provider prüfen