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)
- Laden Sie FileZilla herunter: https://filezilla-project.org/
- Verbinden Sie sich:
- Host:
sftp://ihre-server-ip - Benutzername: Ihr Benutzername
- Passwort: Ihr Passwort
- Port: 22
- Host:
- Ziehen Sie den Ordner
TaskMatein 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
- Nginx installieren:
sudo apt install -y nginx
- Certbot für Let's Encrypt installieren:
sudo apt install -y certbot python3-certbot-nginx
- 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;
}
}
- Konfiguration aktivieren:
sudo ln -s /etc/nginx/sites-available/taskmate /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
- SSL-Zertifikat erstellen:
sudo certbot --nginx -d ihre-domain.de
Folgen Sie den Anweisungen auf dem Bildschirm.
Fehlerbehebung
Container startet nicht
- Prüfen Sie die Logs:
docker compose logs
- Prüfen Sie, ob Port 3000 bereits verwendet wird:
sudo lsof -i :3000
- Falls ja, ändern Sie den Port in der
.env-Datei.
Verbindung nicht möglich
- Prüfen Sie die Firewall:
sudo ufw status
- Prüfen Sie, ob Docker läuft:
sudo systemctl status docker
Datenbank-Fehler
- Stoppen Sie die Anwendung:
docker compose stop
- Prüfen Sie die Datenbankdatei:
ls -la ~/TaskMate/data/
- Falls beschädigt, stellen Sie ein Backup wieder her (siehe oben).
Unterstützung
Bei Problemen prüfen Sie:
- Die Logs (
docker compose logs -f) - Ob alle Container laufen (
docker compose ps) - Die Firewall-Einstellungen
- Die .env-Konfiguration
Sicherheitshinweise
- Ändern Sie die Standard-Passwörter sofort nach der Installation
- Halten Sie Docker aktuell:
sudo apt update && sudo apt upgrade - Regelmäßige Backups - Die automatischen Backups prüfen
- HTTPS verwenden für Produktionsumgebungen
- Firewall konfigurieren - Nur notwendige Ports öffnen