1
0
forked from jchomaz/Vulture

Utilisation de compose plutot que de script pour builder, lancer et stopper les containers (maj de la doc)

This commit is contained in:
2026-02-03 13:14:02 +01:00
parent 31649435a6
commit 013d629625
13 changed files with 120 additions and 230 deletions

View File

@@ -3,94 +3,100 @@
Construction et lancements des containers.
Toutes les commandes sont à taper depuis la racine du dépôt.
## Upgrade :
```bash
git pull
podmane-compose build
systemctl --user restart vulture-stack.service
pkill -u vulture cage
```
## Build
```bash
./VContainers/build.sh
```
Ou manuellement :
```bash
podman build . -f ./VContainers/VNode/Containerfile -t vnode
podman build . -f ./VContainers/VApp/Containerfile -t vapp
podman-compose build
```
## Run
### Mode Manuel avec Scripts
**Développement (localhost):**
```bash
./VContainers/run_dev.sh
```
**Production (IP 192.168.73.252):**
```bash
./VContainers/run_prod.sh
```
Les containers sont lancés sur le réseau bridge `vulture-net` :
- **nanomq** : Broker MQTT (ports 1883, 9001, 8081, 8083, 8883)
- **vnode** : Services Node.js backend
- **vapp** : Frontend Vue.js (port 8080)
`podman-compose up -d`
## Stop
```bash
./VContainers/stop.sh
```
`podman-compose down`
Ou manuellement :
```bash
podman stop vapp vnode nanomq
podman network rm vulture-net
```
## Installation
## Lancement automatique avec Quadlet
### Automatisation au boot (User Mode)
Copier les fichiers du répertoire `quadlet` vers `~/.config/containers/systemd/`
#### Étape A : Activer la persistance de l'utilisateur
Par défaut, Fedora tue les processus utilisateurs à la déconnexion. On active le "lingering" pour que vos containers tournent dès le boot :
```bash
cp ./VContainers/quadlet/*.network ~/.config/containers/systemd/
cp ./VContainers/quadlet/*.container ~/.config/containers/systemd/
sudo loginctl enable-linger $USER
```
#### Étape B : Créer l'unité Systemd
Créez le dossier pour les services utilisateurs : `mkdir -p ~/.config/systemd/user/`
Créez le fichier ~/.config/systemd/user/vulture-stack.service :
```TOML
[Unit]
Description=Vulture Project Stack (Podman Compose)
After=network-online.target
[Service]
Type=simple
WorkingDirectory=%h/Vulture
# Lancement au boot
ExecStart=/usr/bin/podman-compose up
# Arrêt propre
ExecStop=/usr/bin/podman-compose down
Restart=always
[Install]
WantedBy=default.target
```
**Pour l'environnement de développement :**
#### Étape C : Activer le service
```bash
systemctl --user daemon-reload
systemctl --user enable --now nanomq.service
systemctl --user enable --now vnode.service
systemctl --user enable --now vapp_dev.service
systemctl --user enable vulture-stack.service
systemctl --user start vulture-stack.service
```
**Pour l'environnement de production :**
## Surveillance des Containers (Backend)
Puisque la stack tourne en mode utilisateur via Systemd, les commandes standard doivent être préfixées par `--user`.
* **Vérifier l'état de la stack :**
```bash
systemctl --user daemon-reload
systemctl --user enable --now nanomq.service
systemctl --user enable --now vnode.service
systemctl --user enable --now vapp_prod.service
systemctl --user status vulture-stack.service
```
**Vérifier le statut :**
* **Consulter les logs en temps réel (équivalent `tail -f`) :**
```bash
systemctl --user status nanomq.service vnode.service vapp_dev.service
journalctl --user -u vulture-stack.service -f
```
**Arrêter les services :**
* **Redémarrer proprement toute la stack :**
```bash
systemctl --user stop vapp_dev.service vnode.service nanomq.service
systemctl --user disable vapp_dev.service vnode.service nanomq.service
systemctl --user restart vulture-stack.service
```
## Configuration
Les fichiers de configuration se trouvent dans `VContainers/VApp/config/` :
- `config_dev.js` : Configuration développement (MQTT sur localhost)
- `config_prod.js` : Configuration production (MQTT sur 192.168.73.252)
Vous pouvez modifier ces fichiers selon vos besoins. En mode manuel, redémarrez les containers. Avec Quadlet, redémarrez le service correspondant :
* **Lister les containers actifs :**
```bash
systemctl --user restart vapp_dev.service
podman ps
```
## Tip