Initial commit
Dieser Commit ist enthalten in:
267
INSTALLATION.md
Normale Datei
267
INSTALLATION.md
Normale Datei
@ -0,0 +1,267 @@
|
||||
# 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.
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren