Ajoute des scripts de déploiement Proxmox LXC

This commit is contained in:
2026-04-12 14:15:30 +02:00
parent ec87a57712
commit c00e2369a8
3 changed files with 672 additions and 0 deletions

View File

@@ -28,6 +28,69 @@ docker compose up -d --build
L'application est ensuite disponible sur `http://localhost:8080`.
## Déploiement dans un LXC Proxmox
Deux scripts Bash permettent de créer un conteneur LXC Debian sur Proxmox puis de le mettre à jour depuis Git.
Prérequis sur la machine qui lance les scripts :
- `ssh`
- `sshpass`
Le déploiement dans le LXC n'utilise pas Docker. Le script installe `nginx`, `git` et `rsync` dans le conteneur, clone le dépôt puis publie uniquement les fichiers web.
### Installer un nouveau LXC
```bash
./scripts/install-proxmox-lxc.sh \
--proxmox-host 10.0.0.2 \
--proxmox-user root@pam \
--proxmox-password 'secret'
```
Valeurs par défaut utiles :
- LXC nommé `chesscubing-web`
- IP du LXC en `dhcp`
- branche Git `main`
- dépôt `https://git.jeannerot.fr/christophe/chesscubing.git`
Options utiles si besoin :
- `--ctid 120`
- `--lxc-ip 192.168.1.50/24 --gateway 192.168.1.1`
- `--template-storage local`
- `--rootfs-storage local-lvm`
- `--branch main`
À la fin, le script affiche :
- le `CTID`
- le mot de passe `root` du LXC
- l'URL probable du site
### Mettre à jour depuis Git
```bash
./scripts/update-proxmox-lxc.sh \
--proxmox-host 10.0.0.2 \
--proxmox-user root@pam \
--proxmox-password 'secret' \
--ctid 120
```
On peut aussi cibler le conteneur par nom si on n'a pas le `CTID` :
```bash
./scripts/update-proxmox-lxc.sh \
--proxmox-host 10.0.0.2 \
--proxmox-user root@pam \
--proxmox-password 'secret' \
--hostname chesscubing-web
```
Le script de mise à jour exécute un `git pull --ff-only` dans le conteneur puis republie les fichiers statiques via `nginx`.
## Fichiers clés
- `index.html` : page d'accueil du site
@@ -38,3 +101,5 @@ L'application est ensuite disponible sur `http://localhost:8080`.
- `styles.css` : design mobile/tablette
- `app.js` : logique de match et arbitrage
- `docker-compose.yml` + `Dockerfile` : exécution locale
- `scripts/install-proxmox-lxc.sh` : création et déploiement d'un LXC Proxmox
- `scripts/update-proxmox-lxc.sh` : mise à jour d'un LXC existant depuis Git