Files
TaskMate/SERVER_SETUP_ANLEITUNG.md
Claude Project Manager ab1e5be9a9 Initial commit
2025-12-28 21:36:45 +00:00

7.4 KiB

Server-Setup Anleitung für TaskMate

Diese Anleitung erklärt Schritt für Schritt, wie Sie TaskMate auf Ihrem Linux-Server installieren.


Voraussetzungen

  • Ein Linux-Server (Ubuntu 20.04/22.04 oder Debian empfohlen)
  • SSH-Zugang zu Ihrem Server
  • Root-Rechte oder sudo-Berechtigungen

Schritt 1: Mit dem Server verbinden

Öffnen Sie ein Terminal (Windows: PowerShell oder CMD) und verbinden Sie sich per SSH:

ssh benutzername@ihre-server-ip

Ersetzen Sie benutzername mit Ihrem Benutzernamen und ihre-server-ip mit der IP-Adresse Ihres Servers.


Schritt 2: System aktualisieren

sudo apt update
sudo apt upgrade -y

Schritt 3: Docker installieren

3.1 Erforderliche Pakete installieren

sudo apt install -y ca-certificates curl gnupg lsb-release

3.2 Docker GPG-Schlüssel hinzufügen

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

3.3 Docker-Repository hinzufügen

Für Ubuntu:

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Für Debian:

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

3.4 Docker installieren

sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

3.5 Docker für Ihren Benutzer aktivieren

sudo usermod -aG docker $USER

Wichtig: Melden Sie sich ab und wieder an, damit diese Änderung wirksam wird:

exit

Dann erneut verbinden mit SSH.

3.6 Docker testen

docker --version
docker compose version

Schritt 4: Projektdateien auf den Server übertragen

Option A: Mit SCP (vom lokalen Computer)

Öffnen Sie ein neues Terminal auf Ihrem lokalen Computer:

scp -r C:\Users\hendr\Desktop\IntelSight\Projektablage\TaskMate benutzername@ihre-server-ip:~/

Option B: Mit Git (falls vorhanden)

Falls Sie die Dateien in einem Git-Repository haben:

git clone ihr-repository-url ~/TaskMate

Option C: Mit FileZilla (grafisch)

  1. Laden Sie FileZilla herunter: https://filezilla-project.org/
  2. Verbinden Sie sich:
    • Host: sftp://ihre-server-ip
    • Benutzername: Ihr Benutzername
    • Passwort: Ihr Passwort
    • Port: 22
  3. Ziehen Sie den Ordner TaskMate in Ihr Home-Verzeichnis

Schritt 5: Umgebungsvariablen konfigurieren

Wechseln Sie in das Projektverzeichnis:

cd ~/TaskMate

Erstellen Sie die Konfigurationsdatei:

cp .env.example .env

Öffnen Sie die Datei zum Bearbeiten:

nano .env

Ändern Sie folgende Werte:

# WICHTIG: Ändern Sie diese Werte!
JWT_SECRET=IhrGeheimesPasswort123!
SESSION_SECRET=EinAnderesGeheimesPasswort456!

# Optional: Port ändern (Standard: 3000)
PORT=3000

Tipp für sichere Passwörter:

openssl rand -base64 32

Kopieren Sie diese generierten Passwörter in die .env-Datei.

Speichern mit: Ctrl + O, Enter, Ctrl + X


Schritt 6: Anwendung starten

Erster Start (dauert einige Minuten)

docker compose up -d

Die -d Option startet die Container im Hintergrund.

Status prüfen

docker compose ps

Sie sollten sehen, dass der Container "running" ist.

Logs anzeigen

docker compose logs -f

Mit Ctrl + C können Sie die Logs beenden.


Schritt 7: Firewall konfigurieren (falls aktiv)

sudo ufw allow 3000/tcp
sudo ufw status

Schritt 8: Anwendung aufrufen

Öffnen Sie in Ihrem Browser:

http://ihre-server-ip:3000

Erste Anmeldung

  • Benutzername: admin
  • Passwort: admin123

WICHTIG: Ändern Sie das Passwort sofort nach der ersten Anmeldung!


Nützliche Befehle

Anwendung stoppen

docker compose stop

Anwendung neu starten

docker compose restart

Anwendung komplett beenden und entfernen

docker compose down

Logs anzeigen

docker compose logs -f

Container-Status prüfen

docker compose ps

Anwendung aktualisieren

Falls Sie Änderungen am Code gemacht haben:

docker compose down
docker compose build --no-cache
docker compose up -d

Automatischer Start beim Serverstart

Um die Anwendung automatisch zu starten, wenn der Server neu startet:

sudo systemctl enable docker

Docker Compose startet Container mit restart: unless-stopped automatisch.


Backups

Die Datenbank wird automatisch täglich gesichert. Die Backups finden Sie unter:

~/TaskMate/backups/

Manuelles Backup erstellen

cp ~/TaskMate/data/database.sqlite ~/TaskMate/backups/backup_$(date +%Y%m%d).sqlite

Backup wiederherstellen

docker compose stop
cp ~/TaskMate/backups/backup_DATUM.sqlite ~/TaskMate/data/database.sqlite
docker compose start

HTTPS mit SSL-Zertifikat (Optional, aber empfohlen)

Für eine sichere Verbindung empfehlen wir die Einrichtung von HTTPS.

Option A: Mit Nginx als Reverse Proxy

  1. Nginx installieren:
sudo apt install -y nginx
  1. Certbot für Let's Encrypt installieren:
sudo apt install -y certbot python3-certbot-nginx
  1. Nginx-Konfiguration erstellen:
sudo nano /etc/nginx/sites-available/taskmate

Inhalt:

server {
    listen 80;
    server_name ihre-domain.de;

    location / {
        proxy_pass http://localhost:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_cache_bypass $http_upgrade;
    }
}
  1. Konfiguration aktivieren:
sudo ln -s /etc/nginx/sites-available/taskmate /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
  1. SSL-Zertifikat erstellen:
sudo certbot --nginx -d ihre-domain.de

Folgen Sie den Anweisungen auf dem Bildschirm.


Fehlerbehebung

Container startet nicht

  1. Prüfen Sie die Logs:
docker compose logs
  1. Prüfen Sie, ob Port 3000 bereits verwendet wird:
sudo lsof -i :3000
  1. Falls ja, ändern Sie den Port in der .env-Datei.

Verbindung nicht möglich

  1. Prüfen Sie die Firewall:
sudo ufw status
  1. Prüfen Sie, ob Docker läuft:
sudo systemctl status docker

Datenbank-Fehler

  1. Stoppen Sie die Anwendung:
docker compose stop
  1. Prüfen Sie die Datenbankdatei:
ls -la ~/TaskMate/data/
  1. Falls beschädigt, stellen Sie ein Backup wieder her (siehe oben).

Unterstützung

Bei Problemen prüfen Sie:

  1. Die Logs (docker compose logs -f)
  2. Ob alle Container laufen (docker compose ps)
  3. Die Firewall-Einstellungen
  4. Die .env-Konfiguration

Sicherheitshinweise

  1. Ändern Sie die Standard-Passwörter sofort nach der Installation
  2. Halten Sie Docker aktuell: sudo apt update && sudo apt upgrade
  3. Regelmäßige Backups - Die automatischen Backups prüfen
  4. HTTPS verwenden für Produktionsumgebungen
  5. Firewall konfigurieren - Nur notwendige Ports öffnen