Files
SkillMate/INSTALLATION.md
Claude Project Manager 6b9b6d4f20 Initial commit
2025-09-20 21:31:04 +02:00

267 Zeilen
6.3 KiB
Markdown

# SkillMate Installation und Einrichtung
## 📋 Systemvoraussetzungen
### Minimum:
- **Node.js**: Version 18.0.0 oder höher
- **NPM**: Version 8.0.0 oder höher (wird mit Node.js installiert)
- **Speicherplatz**: Mindestens 500 MB freier Speicher
- **RAM**: Mindestens 4 GB RAM
- **Betriebssystem**: Windows 10/11, macOS 10.15+, Linux (Ubuntu 20.04+)
### Empfohlen:
- **Node.js**: Version 20.x LTS
- **RAM**: 8 GB oder mehr
- **CPU**: Dual-Core oder besser
## 🚀 Schnellstart
### Windows
1. **Laden Sie Node.js herunter und installieren Sie es:**
- Besuchen Sie https://nodejs.org/
- Laden Sie die LTS-Version herunter
- Führen Sie den Installer aus
2. **Führen Sie den SkillMate Installer aus:**
```powershell
# PowerShell als Administrator öffnen (nicht erforderlich, aber empfohlen)
cd C:\Pfad\zu\SkillMate
# Installer ausführen
.\install.ps1
```
3. **Starten Sie SkillMate:**
- Doppelklicken Sie auf die Desktop-Verknüpfung "SkillMate"
- Oder führen Sie aus: `.\start-skillmate.bat`
### Linux/macOS
1. **Installieren Sie Node.js:**
```bash
# Ubuntu/Debian
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt-get install -y nodejs
# macOS mit Homebrew
brew install node
```
2. **Führen Sie den Installer aus:**
```bash
cd /pfad/zu/SkillMate
chmod +x install.sh
./install.sh
```
3. **Starten Sie SkillMate:**
```bash
./start-skillmate.sh
```
## 📁 Projektstruktur nach Installation
```
SkillMate/
├── backend/
│ ├── .env # Backend-Konfiguration
│ ├── data/
│ │ └── skillmate.db # SQLite Datenbank
│ ├── uploads/ # Hochgeladene Dateien
│ └── logs/ # Log-Dateien
├── frontend/
│ └── .env # Frontend-Konfiguration
├── admin-panel/
│ └── .env # Admin-Panel-Konfiguration
├── shared/ # Gemeinsame TypeScript-Definitionen
├── start-skillmate.bat # Windows Start-Script
├── start-skillmate.sh # Linux/Mac Start-Script
└── start-skillmate.ps1 # PowerShell Start-Script
```
## ⚙️ Konfiguration
### Backend (.env)
Die wichtigsten Einstellungen in `backend/.env`:
```env
# Server-Port (Standard: 3001)
PORT=3001
# Umgebung (development/production)
NODE_ENV=production
# Datenbank-Pfad
DATABASE_PATH=./data/skillmate.db
# JWT Secret (automatisch generiert, NICHT TEILEN!)
JWT_SECRET=ihr-geheimer-schlüssel
# JWT Ablaufzeit
JWT_EXPIRES_IN=7d
# CORS URLs (Frontend und Admin-Panel)
CORS_ORIGIN=http://localhost:5173,http://localhost:5174
# Upload-Einstellungen
UPLOAD_DIR=./uploads
MAX_FILE_SIZE=5242880 # 5MB in Bytes
# Sync-Einstellungen für Netzwerk
NODE_ID=eindeutige-node-id
NODE_TYPE=local # oder "admin" für Admin-Server
# Logging
LOG_LEVEL=info # debug, info, warn, error
LOG_DIR=./logs
```
### Frontend/Admin-Panel (.env)
```env
# Backend API URL
VITE_API_URL=http://localhost:3001/api
# App-Name und Version
VITE_APP_NAME=SkillMate
VITE_APP_VERSION=1.0.0
```
## 🔐 Erster Login
**Standard-Zugangsdaten:**
- Benutzername: `admin`
- Passwort: `admin123`
⚠️ **WICHTIG**: Ändern Sie das Passwort sofort nach dem ersten Login!
## 🌐 Netzwerk-Konfiguration
### Admin-Server einrichten
1. Setzen Sie in `backend/.env`:
```env
NODE_TYPE=admin
```
2. Öffnen Sie das Admin-Panel
3. Navigieren Sie zu "Netzwerk & Synchronisation"
4. Fügen Sie lokale Knoten hinzu
### Lokalen Knoten einrichten
1. Setzen Sie in `backend/.env`:
```env
NODE_TYPE=local
```
2. Verwenden Sie den API-Key vom Admin-Server
### Firewall-Einstellungen
Öffnen Sie folgende Ports falls nötig:
- **3001**: Backend API
- **5173**: Frontend (nur für Entwicklung)
- **5174**: Admin-Panel (nur für Entwicklung)
## 🛠️ Fehlerbehebung
### "Node.js ist nicht installiert"
- Installieren Sie Node.js von https://nodejs.org/
- Starten Sie Ihr Terminal/PowerShell neu
### "Port bereits belegt"
- Ein anderer Dienst nutzt bereits den Port
- Beenden Sie den Dienst oder ändern Sie den Port in der .env
### "Datenbank-Fehler"
- Löschen Sie `backend/data/skillmate.db`
- Führen Sie den Installer erneut aus
### "Build-Fehler bei SQLite"
**Linux/macOS:**
```bash
sudo apt-get install build-essential python3
# oder
brew install python
```
**Windows:**
```powershell
npm install --global windows-build-tools
```
## 📊 Datenbank-Verwaltung
### Backup erstellen
```bash
# Linux/macOS
cp backend/data/skillmate.db backend/data/skillmate_backup_$(date +%Y%m%d).db
# Windows
copy backend\data\skillmate.db backend\data\skillmate_backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%.db
```
### Datenbank zurücksetzen
1. Stoppen Sie alle SkillMate-Dienste
2. Löschen Sie `backend/data/skillmate.db`
3. Starten Sie SkillMate neu (Datenbank wird automatisch erstellt)
## 🔄 Updates
### Automatisches Update (wenn Git installiert)
```bash
git pull origin main
npm install # im Hauptverzeichnis
cd backend && npm install && npm run build
cd ../frontend && npm install
cd ../admin-panel && npm install
```
### Manuelles Update
1. Laden Sie die neueste Version herunter
2. Sichern Sie Ihre .env Dateien und die Datenbank
3. Überschreiben Sie die Dateien
4. Führen Sie den Installer erneut aus
## 🆘 Support
Bei Problemen:
1. Überprüfen Sie die Logs in `backend/logs/`
2. Stellen Sie sicher, dass alle Abhängigkeiten installiert sind
3. Führen Sie den Installer erneut aus
## 🔒 Sicherheitshinweise
1. **Ändern Sie das Standard-Passwort** sofort nach der Installation
2. **Sichern Sie die .env Dateien** - sie enthalten sensible Daten
3. **Verwenden Sie HTTPS** in Produktionsumgebungen
4. **Beschränken Sie den Zugriff** auf die Admin-Panel URL
5. **Regelmäßige Backups** der Datenbank durchführen
## 📈 Performance-Optimierung
### Für Produktionsumgebungen:
1. **Frontend/Admin-Panel bauen:**
```bash
cd frontend && npm run build
cd ../admin-panel && npm run build
```
2. **Nginx als Reverse Proxy verwenden**
3. **PM2 für Prozess-Management:**
```bash
npm install -g pm2
pm2 start backend/dist/index.js --name skillmate-backend
pm2 save
pm2 startup
```
## 📝 Lizenz
SkillMate ist für den internen Gebrauch in Sicherheitsbehörden entwickelt.
Weitergabe und kommerzielle Nutzung nur mit ausdrücklicher Genehmigung.