Utilisation de compose plutot que de script pour builder, lancer et stopper les containers (maj de la doc)
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user