Skip to content

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.

  1. Kopieren Sie die .env.example-Datei:
cp .env.example .env
  1. Ö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_USERNAME definiert (standard: admin)
  • Passwort: Wie in ADMIN_PASSWORD definiert
  • E-Mail: Wie in ADMIN_EMAIL definiert

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:

  1. Melden Sie sich als Admin an
  2. Gehen Sie zu "Einstellungen" → "Sicherheit"
  3. Ändern Sie das Passwort
  4. 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:

  1. Datenbank-Backup:
docker exec postgres pg_dump -U postgres_lage enterprise_db > backup.sql
  1. Volumes sichern: Verwenden Sie Docker-Volume-Backups

Updates

Um das System zu aktualisieren:

  1. Stoppen Sie die Container:
docker compose down
  1. Ziehen Sie die neuesten Änderungen:
git pull
  1. 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:

  1. Überprüfen Sie die Logs aller Dienste
  2. Suchen Sie in dieser Dokumentation
  3. 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

  1. Server-Zugang: Stellen Sie sicher, dass Sie SSH-Zugang zu Ihrem Hetzner-Server haben
  2. Docker installieren: Docker und Docker Compose müssen auf dem Server installiert sein
  3. 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:

  1. Verzeichnis erstellen:
mkdir -p /opt/lage-dashboard
cd /opt/lage-dashboard
  1. Repository klonen:
git clone https://github.com/L-AGE-Dev/Dashboard.git .
  1. 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.

  1. .env.https konfigurieren: Öffnen Sie .env.https und passen Sie folgende wichtige Einstellungen an:

  2. SERVER_IP: Ihre Hetzner-Server-IP

  3. POSTGRES_USER und POSTGRES_PASSWORD: Sichere Datenbank-Zugangsdaten
  4. SECRET_KEY: Ein sicherer, zufälliger Schlüssel
  5. SMTP_*: E-Mail-Konfiguration
  6. Alle anderen sensiblen Daten

  7. SSL-Zertifikate vorbereiten: Nginx Proxy Manager wird automatisch Let's Encrypt Zertifikate für Ihre Domains ausstellen.

Deployment ausführen

  1. System starten:
docker compose -f docker-compose.https.yml up -d
  1. Nginx Proxy Manager konfigurieren:

  2. Öffnen Sie http://ihre-server-ip:81

  3. Melden Sie sich an (Standard: admin@example.com / changeme)
  4. Fügen Sie Ihre Domains hinzu:

    • dashboard.ihre-domain.defrontend:3000
    • api.ihre-domain.debackend:8000
    • pgadmin.ihre-domain.depgadmin:80
    • portainer.ihre-domain.deportainer:9000
    • docs.ihre-domain.dedocs:8000
    • files.ihre-domain.defile-manager:80
  5. SSL-Zertifikate aktivieren: Für jede Proxy-Host-Konfiguration:

  6. SSL-Tab öffnen
  7. "Request a new SSL Certificate" auswählen
  8. Ihre E-Mail-Adresse eingeben
  9. Zertifikat anfordern

Nach dem Deployment

  1. Admin-Passwort ändern: Wie oben beschrieben
  2. Domains testen: Stellen Sie sicher, dass alle HTTPS-URLs funktionieren
  3. Backups einrichten: Regelmäßige Backups der Volumes und Datenbank
  4. 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