autodeploy implemented
Some checks failed
Deploy SingleChat / deploy (push) Failing after 1s

This commit is contained in:
Torsten Schulz (local)
2026-06-15 16:17:20 +02:00
parent 5bb9db2aad
commit 8d7c7d6f2a
4 changed files with 245 additions and 2 deletions

View File

@@ -99,6 +99,28 @@ sudo systemctl stop singlechat
## Updates
### Automatisch per Gitea Actions
Der Workflow `.gitea/workflows/deploy.yml` deployt bei jedem Push auf `main` per SSH auf den Produktionsserver und startet dort das Rollout-Skript.
In Gitea müssen dafür gesetzt sein:
- Repository Variables:
- `PROD_HOST`: Produktionsserver, z.B. `tsschulz.de`
- `PROD_PORT`: SSH-Port, z.B. `2222`
- `PROD_USER`: SSH-User für den Deploy
- `PROD_DEPLOY_SCRIPT`: optional, Standard ist `/usr/local/bin/actualize-singlechat.sh`
- Repository Secret:
- `PROD_SSH_KEY_B64`: privater SSH-Key base64-kodiert
Auf dem Produktionsserver das Rollout-Skript installieren:
```bash
sudo install -m 755 scripts/actualize-singlechat.sh /usr/local/bin/actualize-singlechat.sh
```
Das Skript aktualisiert `/opt/ypchat` aus `ssh://git@tsschulz.de:2222/torsten/singlechat`, installiert Dependencies mit `npm ci`, baut den Client, aktualisiert `docroot/dist` und startet `ypchat` neu. Bei Bedarf können `APP_DIR`, `REPO_URL`, `BRANCH` und `SERVICE_NAME` als Environment-Variablen überschrieben werden.
Nach Code-Änderungen:
```bash
@@ -159,4 +181,3 @@ Die folgenden Umgebungsvariablen können in `.env` gesetzt werden:
- **HTTPS**: Stelle sicher, dass SSL/TLS korrekt konfiguriert ist
- **Firewall**: Port 4000 sollte nur von localhost erreichbar sein
- **Updates**: Halte Node.js und alle Dependencies aktuell