Documenter le wrapper ssh de déploiement distant du Pi
This commit is contained in:
@ -96,8 +96,32 @@ manuellement si besoin.
|
||||
Avec `serve-webapp.sh` et `run.sh`, la clé SSH de l'hôte (`~/.ssh`, clé +
|
||||
known_hosts) est montée automatiquement en lecture seule dans le conteneur ;
|
||||
avec `docker compose`, le montage équivalent est à décommenter dans
|
||||
`docker-compose.webapp.yml` (voir l'option c ci-dessous). Le wrapper local
|
||||
`ssh` (agent forwarding) simplifie ces connexions.
|
||||
`docker-compose.webapp.yml` (voir l'option c ci-dessous).
|
||||
|
||||
#### Wrapper `ssh` (déploiement depuis le poste de pilotage)
|
||||
|
||||
Le poste de pilotage (agent Crush) interdit l'appel `ssh` direct : le wrapper
|
||||
`ssh`, créé une fois (puis `chmod +x ssh`),
|
||||
fournit l'accès autorisé avec transfert d'agent (`-A`) — les `git pull`
|
||||
distants utilisent la clé locale — et refuse toute interaction (BatchMode) :
|
||||
|
||||
```bash
|
||||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
HOST="${1:-192.168.3.10}" # machine webapp par défaut (le Pi)
|
||||
shift || true
|
||||
exec ssh -A -o BatchMode=yes -o ConnectTimeout=5 \
|
||||
-o StrictHostKeyChecking=accept-new "$HOST" "$@"
|
||||
```
|
||||
|
||||
Usage : `ssh` (Pi par défaut), `ssh <hôte> [commande]`. Mise à jour
|
||||
complète du Pi (checkout git en `/srv/lidar_rendu`, avec
|
||||
l'override Traefik — jamais `serve-webapp.sh` en prod) :
|
||||
|
||||
```bash
|
||||
ssh 192.168.3.10 "cd /srv/lidar_rendu && git pull && \
|
||||
docker compose -f docker-compose.webapp.yml -f docker-compose.webapp.override.yml up -d --build"
|
||||
```
|
||||
|
||||
### 3. Configurer et lancer
|
||||
|
||||
|
||||
Reference in New Issue
Block a user