Files
yourpart3/DEPLOYMENT.md
Torsten Schulz (local) 5f99000f43 feat(match3): Verbesserung der Fall-Logik und Auffüllung leerer Felder
- Optimierung der Fall-Logik für Tiles, um sicherzustellen, dass leere Positionen korrekt gefüllt werden.
- Einführung einer neuen Methode zur Überprüfung und Auffüllung leerer gültiger Felder nach dem Fallen von Tiles.
- Anpassungen an der Animation und den Debug-Ausgaben zur besseren Nachverfolgbarkeit der Fall- und Auffüllprozesse.
- Verbesserung der Logik zur Handhabung von Tiles und deren Positionen im Spiel.
2025-08-29 08:16:54 +02:00

186 lines
3.1 KiB
Markdown

# YourPart Deployment Anleitung
Diese Anleitung beschreibt, wie Sie die YourPart-Anwendung auf einem Ubuntu 22.04 Server deployen.
## Voraussetzungen
- Ubuntu 22.04 Server
- Node.js 18+ installiert
- MySQL/MariaDB installiert und konfiguriert
- Redis installiert
- Apache2 installiert
- SSL-Zertifikate von Let's Encrypt (bereits vorhanden)
## Installation der Abhängigkeiten
```bash
# Node.js installieren
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs
# MySQL installieren
sudo apt install mysql-server
# Redis installieren
sudo apt install redis-server
# Apache2 installieren
sudo apt install apache2
# Apache-Module aktivieren
sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2enmod proxy_wstunnel
sudo a2enmod rewrite
sudo a2enmod ssl
```
## Konfiguration
### 1. Datenbank einrichten
```bash
sudo mysql_secure_installation
sudo mysql -u root -p
```
```sql
CREATE DATABASE yourpart CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'yourpart'@'localhost' IDENTIFIED BY 'your_secure_password';
GRANT ALL PRIVILEGES ON yourpart.* TO 'yourpart'@'localhost';
FLUSH PRIVILEGES;
EXIT;
```
### 2. Redis konfigurieren
```bash
sudo nano /etc/redis/redis.conf
```
Stellen Sie sicher, dass Redis auf localhost läuft und ein Passwort gesetzt ist.
### 3. Umgebungsvariablen konfigurieren
Erstellen Sie eine `.env`-Datei im Backend-Verzeichnis:
```bash
cd backend
cp .env.example .env
nano .env
```
Wichtige Variablen:
```env
NODE_ENV=production
PORT=2020
DB_HOST=localhost
DB_USER=yourpart
DB_PASS=your_secure_password
DB_NAME=yourpart
REDIS_HOST=localhost
REDIS_PASS=your_redis_password
```
## Deployment
### 1. Skripte ausführbar machen
```bash
chmod +x deploy.sh deploy-backend.sh build-frontend.sh
```
### 2. Deployment ausführen
```bash
./deploy.sh
```
Das Skript wird automatisch:
- Das Frontend bauen
- Den Backend-Service installieren
- Die Apache-Konfiguration einrichten
- Alle Services starten
## Verifizierung
### 1. Service-Status prüfen
```bash
sudo systemctl status yourpart.service
sudo systemctl status apache2
```
### 2. Logs überprüfen
```bash
# Backend-Logs
sudo journalctl -u yourpart.service -f
# Apache-Logs
sudo tail -f /var/log/apache2/yourpart.*.log
```
### 3. Anwendung testen
Öffnen Sie in Ihrem Browser:
- https://www.your-part.de
## Wartung
### Service neu starten
```bash
sudo systemctl restart yourpart.service
sudo systemctl reload apache2
```
### Updates deployen
```bash
git pull origin main
./deploy.sh
```
### Logs rotieren
```bash
sudo logrotate -f /etc/logrotate.d/apache2
```
## Troubleshooting
### Backend startet nicht
```bash
sudo journalctl -u yourpart.service -n 50
```
Prüfen Sie:
- Datenbankverbindung
- Redis-Verbindung
- Port 2020 ist verfügbar
- Berechtigungen in `/opt/yourpart/backend`
### Apache-Fehler
```bash
sudo apache2ctl configtest
sudo tail -f /var/log/apache2/error.log
```
### SSL-Probleme
```bash
sudo certbot certificates
sudo certbot renew --dry-run
```
## Sicherheit
- Firewall konfigurieren (nur Port 80, 443, 22 öffnen)
- Regelmäßige Updates
- Datenbank-Backups
- SSL-Zertifikate erneuern
- Logs überwachen