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.
This commit is contained in:
185
DEPLOYMENT.md
Normal file
185
DEPLOYMENT.md
Normal file
@@ -0,0 +1,185 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user