mirror of
https://github.com/guyg1474/hcrb.git
synced 2026-10-15 23:13:28 +02:00
DEPLOY.md: Projektordner ~/festplatte/dockercontainer/hcrb
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
c9dc2bc4b3
commit
6824ca90cd
1 file changed
+13
-14
@@ -28,14 +28,13 @@ cat ~/.ssh/hcrb_deploy.pub
|
|||||||
|
|
||||||
Den ausgegebenen Schlüssel im Repository unter *Settings → Deploy keys* eintragen (nur Lesezugriff). Dann:
|
Den ausgegebenen Schlüssel im Repository unter *Settings → Deploy keys* eintragen (nur Lesezugriff). Dann:
|
||||||
|
|
||||||
> **Ordner:** Die Anleitung nutzt `/opt/hcrb`. Jeder andere Ordner geht genauso (z. B. `~/docker/hcrb` neben den
|
> **Ordner:** Das Projekt liegt in `~/festplatte/dockercontainer/hcrb`. Die Skripte in `deploy/` finden ihren
|
||||||
> anderen Docker-Projekten) – dann `/opt/hcrb` in den Befehlen unten einfach durch den eigenen Pfad ersetzen.
|
> Ordner selbst – bei einem Umzug muss nur der Pfad in den Befehlen hier angepasst werden.
|
||||||
> Die Skripte in `deploy/` finden ihren Ordner selbst.
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo mkdir -p /opt/hcrb && sudo chown $USER: /opt/hcrb
|
mkdir -p ~/festplatte/dockercontainer
|
||||||
GIT_SSH_COMMAND="ssh -i ~/.ssh/hcrb_deploy" git clone git@github.com:guyg1474/hcrb.git /opt/hcrb
|
GIT_SSH_COMMAND="ssh -i ~/.ssh/hcrb_deploy" git clone git@github.com:guyg1474/hcrb.git ~/festplatte/dockercontainer/hcrb
|
||||||
cd /opt/hcrb
|
cd ~/festplatte/dockercontainer/hcrb
|
||||||
git config core.sshCommand "ssh -i ~/.ssh/hcrb_deploy"
|
git config core.sshCommand "ssh -i ~/.ssh/hcrb_deploy"
|
||||||
chmod +x deploy/*.sh
|
chmod +x deploy/*.sh
|
||||||
|
|
||||||
@@ -69,14 +68,14 @@ Wer die bisherigen Mitglieder, Termine und Logins mitnehmen will, kopiert sie vo
|
|||||||
# lokal ausführen
|
# lokal ausführen
|
||||||
scp data/db.json data/users.json DEIN-USER@SERVER:/tmp/
|
scp data/db.json data/users.json DEIN-USER@SERVER:/tmp/
|
||||||
# auf dem Server
|
# auf dem Server
|
||||||
sudo mv /tmp/db.json /tmp/users.json /opt/hcrb/data/
|
sudo mv /tmp/db.json /tmp/users.json ~/festplatte/dockercontainer/hcrb/data/
|
||||||
sudo chown 1000:1000 /opt/hcrb/data/*.json && sudo chmod 600 /opt/hcrb/data/*.json
|
sudo chown 1000:1000 ~/festplatte/dockercontainer/hcrb/data/*.json && sudo chmod 600 ~/festplatte/dockercontainer/hcrb/data/*.json
|
||||||
```
|
```
|
||||||
|
|
||||||
## 6. Container starten
|
## 6. Container starten
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd /opt/hcrb
|
cd ~/festplatte/dockercontainer/hcrb
|
||||||
docker compose up -d --build
|
docker compose up -d --build
|
||||||
docker compose ps # Status sollte nach ca. 30 Sekunden "Up … (healthy)" zeigen
|
docker compose ps # Status sollte nach ca. 30 Sekunden "Up … (healthy)" zeigen
|
||||||
```
|
```
|
||||||
@@ -136,7 +135,7 @@ Die NPM-Oberfläche (Port 81) sollte ebenfalls nicht offen im Internet stehen.
|
|||||||
```bash
|
```bash
|
||||||
sudo crontab -e
|
sudo crontab -e
|
||||||
# Zeile hinzufügen:
|
# Zeile hinzufügen:
|
||||||
30 3 * * * /opt/hcrb/deploy/backup.sh
|
30 3 * * * /home/DEIN-USER/festplatte/dockercontainer/hcrb/deploy/backup.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
Sichert täglich um 3:30 Uhr `data/` nach `/var/backups/hcrb/` und behält 30 Tage.
|
Sichert täglich um 3:30 Uhr `data/` nach `/var/backups/hcrb/` und behält 30 Tage.
|
||||||
@@ -153,7 +152,7 @@ git commit -m "Was geändert wurde"
|
|||||||
git push
|
git push
|
||||||
|
|
||||||
# auf dem Server
|
# auf dem Server
|
||||||
ssh DEIN-USER@SERVER /opt/hcrb/deploy/update-docker.sh
|
ssh DEIN-USER@SERVER festplatte/dockercontainer/hcrb/deploy/update-docker.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
`update-docker.sh` holt den neuen Stand, baut den Container neu und startet ihn. Die Daten bleiben unverändert,
|
`update-docker.sh` holt den neuen Stand, baut den Container neu und startet ihn. Die Daten bleiben unverändert,
|
||||||
@@ -161,7 +160,7 @@ an NPM muss nichts geändert werden.
|
|||||||
|
|
||||||
## Nützliche Befehle auf dem Server
|
## Nützliche Befehle auf dem Server
|
||||||
|
|
||||||
Alle im Ordner `/opt/hcrb` ausführen:
|
Alle im Ordner `~/festplatte/dockercontainer/hcrb` ausführen:
|
||||||
|
|
||||||
| Zweck | Befehl |
|
| Zweck | Befehl |
|
||||||
| --- | --- |
|
| --- | --- |
|
||||||
@@ -172,7 +171,7 @@ Alle im Ordner `/opt/hcrb` ausführen:
|
|||||||
| Benutzer anlegen | `docker compose exec hcrb npm run user -- add <name>` |
|
| Benutzer anlegen | `docker compose exec hcrb npm run user -- add <name>` |
|
||||||
| Passwort ändern | `docker compose exec hcrb npm run user -- passwd <name>` |
|
| Passwort ändern | `docker compose exec hcrb npm run user -- passwd <name>` |
|
||||||
| Benutzer auflisten | `docker compose exec hcrb npm run user -- list` |
|
| Benutzer auflisten | `docker compose exec hcrb npm run user -- list` |
|
||||||
| Backup zurückspielen | `docker compose down && sudo tar -xzf /var/backups/hcrb/hcrb-DATUM.tar.gz -C /opt/hcrb && sudo chown -R 1000:1000 data && docker compose up -d` |
|
| Backup zurückspielen | `docker compose down && sudo tar -xzf /var/backups/hcrb/hcrb-DATUM.tar.gz -C ~/festplatte/dockercontainer/hcrb && sudo chown -R 1000:1000 data && docker compose up -d` |
|
||||||
|
|
||||||
## Fehlersuche
|
## Fehlersuche
|
||||||
|
|
||||||
@@ -180,5 +179,5 @@ Alle im Ordner `/opt/hcrb` ausführen:
|
|||||||
| --- | --- |
|
| --- | --- |
|
||||||
| `network … declared as external, but could not be found` | Netzwerkname in `.env` stimmt nicht – Schritt 4 wiederholen. |
|
| `network … declared as external, but could not be found` | Netzwerkname in `.env` stimmt nicht – Schritt 4 wiederholen. |
|
||||||
| NPM zeigt „502 Bad Gateway“ | Container läuft nicht (`docker compose ps`, `docker compose logs`) oder hängt nicht im NPM-Netz (Schritt 4). |
|
| NPM zeigt „502 Bad Gateway“ | Container läuft nicht (`docker compose ps`, `docker compose logs`) oder hängt nicht im NPM-Netz (Schritt 4). |
|
||||||
| Container startet neu mit `EACCES … data` | Rechte am Datenordner: `sudo chown -R 1000:1000 /opt/hcrb/data` |
|
| Container startet neu mit `EACCES … data` | Rechte am Datenordner: `sudo chown -R 1000:1000 ~/festplatte/dockercontainer/hcrb/data` |
|
||||||
| Nach 10 falschen Passwörtern ist der Login für **alle** gesperrt | Die Seite erkennt die echte Besucher-IP nicht – prüfen, ob `TRUST_PROXY` in `docker-compose.yml` gesetzt ist und der Zugriff über NPM erfolgt. |
|
| Nach 10 falschen Passwörtern ist der Login für **alle** gesperrt | Die Seite erkennt die echte Besucher-IP nicht – prüfen, ob `TRUST_PROXY` in `docker-compose.yml` gesetzt ist und der Zugriff über NPM erfolgt. |
|
||||||
Reference in new issue
Block a user