6.0 KiB
6.0 KiB
Installation - PointCab Webexport Server
Diese Anleitung beschreibt die komplette Installation auf einem frischen Ubuntu 24.04 Server.
📋 Systemanforderungen
| Anforderung | Minimum | Empfohlen |
|---|---|---|
| OS | Ubuntu 24.04 LTS | Ubuntu 24.04 LTS |
| RAM | 2 GB | 4 GB |
| CPU | 2 Kerne | 4 Kerne |
| Speicher | 20 GB | 50 GB+ |
| Netzwerk | Öffentliche IP | Öffentliche IP + Domain |
🔧 Schritt 1: System vorbereiten
# System aktualisieren
sudo apt update && sudo apt upgrade -y
# Grundlegende Pakete installieren
sudo apt install -y curl wget git unzip build-essential
🐘 Schritt 2: PostgreSQL installieren
# PostgreSQL installieren
sudo apt install -y postgresql postgresql-contrib
# PostgreSQL starten und aktivieren
sudo systemctl start postgresql
sudo systemctl enable postgresql
# PostgreSQL-Version prüfen
psql --version
Datenbank und Benutzer erstellen
# Als postgres-Benutzer anmelden
sudo -u postgres psql
# In der PostgreSQL-Shell:
CREATE USER pointcab_user WITH PASSWORD 'IhrSicheresPasswort';
CREATE DATABASE pointcab_db OWNER pointcab_user;
GRANT ALL PRIVILEGES ON DATABASE pointcab_db TO pointcab_user;
\q
🟢 Schritt 3: Node.js installieren
# NodeSource Repository hinzufügen (Node.js 18.x LTS)
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
# Node.js installieren
sudo apt install -y nodejs
# Version prüfen
node --version # sollte v18.x.x zeigen
npm --version
📦 Schritt 4: Projekt installieren
# Verzeichnis erstellen
sudo mkdir -p /var/www/pointcab_webexport_server
sudo chown $USER:$USER /var/www/pointcab_webexport_server
# In das Verzeichnis wechseln
cd /var/www/pointcab_webexport_server
# Repository klonen (oder Dateien kopieren)
# git clone https://your-gitea-server/pointcab-webexport.git .
# ODER: Dateien manuell kopieren
# nodejs_space-Ordner verwenden
cd nodejs_space
# Abhängigkeiten installieren
npm install
⚙️ Schritt 5: Umgebungsvariablen konfigurieren
# .env-Datei erstellen
cat > /var/www/pointcab_webexport_server/nodejs_space/.env << 'EOF'
# Server-Konfiguration
PORT=3000
NODE_ENV=production
# Datenbank-Verbindung
DATABASE_URL="postgresql://pointcab_user:IhrSicheresPasswort@localhost:5432/pointcab_db"
# Upload-Verzeichnis
UPLOAD_DIR=/var/www/pointcab_webexport_server/nodejs_space/uploads
# Session-Secret (ändern Sie dies!)
SESSION_SECRET=ihr-geheimer-session-schluessel-mindestens-32-zeichen
# Admin-Passwort (ändern Sie dies!)
ADMIN_PASSWORD=IhrAdminPasswort
EOF
Wichtig: Ändern Sie alle Passwörter und Secrets!
🗄️ Schritt 6: Datenbank migrieren
cd /var/www/pointcab_webexport_server/nodejs_space
# Prisma-Client generieren
npx prisma generate
# Datenbank-Schema anwenden
npx prisma db push
# (Optional) Prisma Studio zur DB-Inspektion
# npx prisma studio
🔨 Schritt 7: Projekt kompilieren
cd /var/www/pointcab_webexport_server/nodejs_space
# TypeScript kompilieren
npm run build
# Prüfen ob dist/ erstellt wurde
ls -la dist/
🚀 Schritt 8: PM2 installieren und konfigurieren
# PM2 global installieren
sudo npm install -g pm2
# Anwendung starten
cd /var/www/pointcab_webexport_server/nodejs_space
pm2 start dist/main.js --name pointcab-server
# Status prüfen
pm2 status
# Logs anzeigen
pm2 logs pointcab-server
# PM2 Autostart einrichten
pm2 startup
pm2 save
🔍 Schritt 9: Installation verifizieren
# Health-Check
curl http://localhost:3000/health
# Sollte ausgeben: {"status":"ok"}
# Admin-Dashboard testen (im Browser)
# http://IHRE-IP:3000/admin/dashboard
🌐 Schritt 10: Nginx Proxy Manager (Optional)
Installation via Docker
# Docker installieren
sudo apt install -y docker.io docker-compose
# Docker starten
sudo systemctl start docker
sudo systemctl enable docker
# Nginx Proxy Manager starten
mkdir -p ~/nginx-proxy-manager
cd ~/nginx-proxy-manager
cat > docker-compose.yml << 'EOF'
version: '3'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80'
- '81:81'
- '443:443'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
EOF
sudo docker-compose up -d
Nginx Proxy Manager konfigurieren
- Öffnen Sie
http://IHRE-IP:81 - Standard-Login:
admin@example.com/changeme - Passwort ändern
- Neuen Proxy Host hinzufügen:
- Domain:
pointcab-webexport.ihre-domain.de - Forward Host:
localhost - Forward Port:
3000 - SSL aktivieren (Let's Encrypt)
- Domain:
📁 Upload-Verzeichnis erstellen
mkdir -p /var/www/pointcab_webexport_server/nodejs_space/uploads
chmod 755 /var/www/pointcab_webexport_server/nodejs_space/uploads
🔒 Sicherheitshinweise
-
Firewall konfigurieren:
sudo ufw allow 22/tcp # SSH sudo ufw allow 80/tcp # HTTP sudo ufw allow 443/tcp # HTTPS sudo ufw enable -
Passwörter ändern:
- PostgreSQL-Passwort
- Admin-Passwort
- Session-Secret
-
Backups einrichten:
# Datenbank-Backup pg_dump -U pointcab_user pointcab_db > backup.sql
✅ Checkliste
- Ubuntu 24.04 installiert
- System aktualisiert
- PostgreSQL installiert und konfiguriert
- Node.js 18.x installiert
- Projekt-Dateien kopiert
- .env konfiguriert
- Datenbank migriert
- Projekt kompiliert
- PM2 konfiguriert
- (Optional) Nginx Proxy Manager konfiguriert
- Health-Check erfolgreich
🆘 Fehlerbehebung
PostgreSQL-Verbindungsfehler
# PostgreSQL-Status prüfen
sudo systemctl status postgresql
# Logs prüfen
sudo tail -f /var/log/postgresql/postgresql-*-main.log
PM2-Fehler
# Logs anzeigen
pm2 logs pointcab-server --lines 50
# Neustart
pm2 restart pointcab-server
Port bereits belegt
# Prozess auf Port 3000 finden
sudo lsof -i :3000
# Prozess beenden
sudo kill -9 <PID>
Nächster Schritt: DEPLOYMENT.md