# VContainer - Vulture build script Construction et lancements des containers. Toutes les commandes sont à taper depuis la racine du dépôt. ## Build ```bash ./VContainers/build.sh ``` Ou manuellement : ```bash podman build . -f ./VContainers/VNode/Containerfile -t vnode podman build . -f ./VContainers/VApp/Containerfile -t vapp ``` ## 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) ## Stop ```bash ./VContainers/stop.sh ``` Ou manuellement : ```bash podman stop vapp vnode nanomq podman network rm vulture-net ``` ## Lancement automatique avec Quadlet Copier les fichiers du répertoire `quadlet` vers `~/.config/containers/systemd/` ```bash cp ./VContainers/quadlet/*.network ~/.config/containers/systemd/ cp ./VContainers/quadlet/*.container ~/.config/containers/systemd/ ``` **Pour l'environnement de développement :** ```bash systemctl --user daemon-reload systemctl --user enable --now nanomq.service systemctl --user enable --now vnode.service systemctl --user enable --now vapp_dev.service ``` **Pour l'environnement de production :** ```bash systemctl --user daemon-reload systemctl --user enable --now nanomq.service systemctl --user enable --now vnode.service systemctl --user enable --now vapp_prod.service ``` **Vérifier le statut :** ```bash systemctl --user status nanomq.service vnode.service vapp_dev.service ``` **Arrêter les services :** ```bash systemctl --user stop vapp_dev.service vnode.service nanomq.service systemctl --user disable vapp_dev.service vnode.service nanomq.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 : ```bash systemctl --user restart vapp_dev.service ``` ## Tip Pour permettre à Podman d'utiliser les ports privilégiés (<1024) : ```bash sudo sysctl -w net.ipv4.ip_unprivileged_port_start=80 ```