2.2 KiB
2.2 KiB
Deployment-Anleitung für ypchat.net
Voraussetzungen
- Die Anwendung muss nach
/opt/ypchatkopiert werden - Node.js muss installiert sein
- Apache muss konfiguriert sein
Schritte
1. Anwendung nach /opt/ypchat kopieren
# Als root oder mit sudo
sudo mkdir -p /opt/ypchat
sudo cp -r /home/torsten/Programs/YpChat/* /opt/ypchat/
sudo chown -R www-data:www-data /opt/ypchat
2. Installation durchführen
cd /opt/ypchat
sudo -u www-data ./install.sh
3. Service installieren
cd /opt/ypchat
sudo ./install-service-ypchat.sh
4. Alten Service stoppen
sudo systemctl stop ypchat
sudo systemctl disable ypchat # Optional: Alten Service deaktivieren
5. Neuen Service starten
sudo systemctl start ypchat
sudo systemctl status ypchat
6. Logs prüfen
sudo journalctl -u ypchat -f
Troubleshooting
Auto-Rollout mit Gitea
Der Workflow .gitea/workflows/deploy.yml startet bei Push auf main per SSH das Server-Skript /usr/local/bin/actualize-singlechat.sh. Das Skript wird vom Workflow vor dem Start nach /usr/local/bin installiert.
Gitea-Konfiguration:
- Variables:
SSH_HOST,SSH_PORT,SSH_USER - Secret:
PROD_SSH_KEY_B64mit dem base64-kodierten privaten Deploy-Key
Server-Skript manuell testen:
sudo install -m 755 scripts/actualize-singlechat.sh /usr/local/bin/actualize-singlechat.sh
Das Skript aktualisiert /opt/ypchat, baut den Client neu und startet ypchat per systemd neu.
Service startet nicht
# Prüfe Logs
sudo journalctl -u ypchat -n 50
# Prüfe ob Node.js verfügbar ist
which node
/usr/bin/node --version
# Prüfe ob .env existiert
ls -la /opt/ypchat/.env
cat /opt/ypchat/.env
Alte Seite wird noch angezeigt
- Prüfe ob der neue Service läuft:
sudo systemctl status ypchat - Prüfe ob Port 4000 belegt ist:
sudo lsof -i :4000 - Prüfe Apache-Logs:
sudo tail -f /var/log/apache2/error.log - Apache neu laden:
sudo systemctl reload apache2
Gebaute Dateien fehlen
# Prüfe ob dist existiert
ls -la /opt/ypchat/docroot/dist
# Falls nicht, baue neu:
cd /opt/ypchat
sudo -u www-data npm run build
sudo -u www-data cp -r client/dist docroot/