Docker
Exécutez Miravo dans Docker avec les images publiées, les mappages de ports, l'état writable et les sondes de santé.
Exécutez Miravo dans un conteneur jetable ou épinglez-le dans une stack Compose.
Détails techniques
Images
| Registry | Image |
|---|---|
| Docker Hub | amineamaach/miravo:latest |
| GitHub Container Registry | ghcr.io/amine-amaach/miravo:latest |
Épinglez un tag de release quand le déploiement demande une version fixe.
Un conteneur
docker run --rm -p 1883:1883 -p 8080:8080 amineamaach/miravo:latestdocker run --rm -p 1883:1883 -p 4840:4840 -p 8080:8080 \
-e MIRAVO_TEMPLATE=water-treatment \
-e MIRAVO_NAME=plant-a \
amineamaach/miravo:latest start --opcuaPorts hôte
Les ports hôte doivent rester libres. Changez la partie gauche de -p ou de
ports: quand 1883, 4840, 502 ou 8080 appartient déjà à un autre
processus.
Base Compose
services:
miravo:
image: amineamaach/miravo:latest
init: true
command: ["--log-format", "json", "start"]
environment:
MIRAVO_ADMIN_PORT: 8080
MIRAVO_HOME: /data/miravo
ports:
- "1883:1883"
- "8080:8080"
volumes:
- ./miravo-data:/data/miravo
read_only: true
tmpfs:
- /tmp:size=256m
security_opt:
- no-new-privileges:true
cap_drop:
- ALL
stop_grace_period: 30s
healthcheck:
test:
[
"CMD-SHELL",
"wget -qO- http://127.0.0.1:8080/healthz > /dev/null || exit 1",
]
interval: 30s
timeout: 5s
retries: 3
start_period: 20s
restart: "on-failure:5"Ports
| Port | Surface | Rôle |
|---|---|---|
1883 | MQTT | Broker intégré quand MQTT reste activé |
4840 | OPC UA | Serveur OPC UA quand --opcua est activé |
502 | Modbus TCP | Serveur Modbus quand --modbus est activé |
8080 | HTTP | API admin, Console intégrée, /healthz, /readyz |
Volumes et mapping d'environnement
| Besoin hôte | Réglage conteneur |
|---|---|
| Persister l'état runtime et le registre local | Montez un répertoire writable et pointez MIRAVO_HOME dessus |
| Remplacer les valeurs runtime | Définissez les variables MIRAVO_* et LITMUS_EDGE_* dans environment: ou avec -e |
| Exécuter des templates ou modèles custom | Montez le catalogue et pointez --template, --models-dir ou MIRAVO_CATALOG_DIR vers ce montage |
volumes:
- ./miravo-data:/data/miravo
- ./catalog:/catalog:ro
environment:
MIRAVO_HOME: /data/miravo
MIRAVO_CATALOG_DIR: /catalog
MIRAVO_TEMPLATE: smart-factorySondes de santé
| Endpoint | But | Sain quand |
|---|---|---|
GET /healthz | Vivacité | Le moteur tourne et la boucle de tick avance |
GET /readyz | Disponibilité | Le moteur tourne et chaque adaptateur activé se déclare prêt |
livenessProbe:
httpGet:
path: /healthz
port: 8080
readinessProbe:
httpGet:
path: /readyz
port: 8080Référence
| Élément | Valeur |
|---|---|
| Commande par défaut | start |
| Chemin d'état writable | MIRAVO_HOME dans le conteneur |
| Bind admin par défaut | 0.0.0.0:8080 |
| Root filesystem en lecture seule | Oui, tant que /tmp et MIRAVO_HOME restent writables |
| Port Linux privilégié | 502 pour Modbus TCP |
docker run --rm \
-e MIRAVO_ADMIN_PORT=9090 \
-e MIRAVO_MQTT_PORT=1884 \
-e MIRAVO_NAME=demo \
-p 1884:1884 -p 9090:9090 \
amineamaach/miravo:latestPages liées
CLI ⭢ miravo start
Flags runtime et comportement des commandes.
Variables d'environnement
Valeurs par défaut MIRAVO_* et LITMUS_EDGE_*.
Journalisation
Sortie texte et sortie JSON pour les logs conteneur.
Admin API
Sondes et surfaces de contrôle derrière le port du conteneur.
Was this page useful?
Last updated on
Miravo