forked from jchomaz/Vulture
101 lines
2.4 KiB
Markdown
101 lines
2.4 KiB
Markdown
# 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
|
|
``` |