267 Zeilen
6.3 KiB
Markdown
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. |