Miravo

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

RegistryImage
Docker Hubamineamaach/miravo:latest
GitHub Container Registryghcr.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:latest
docker 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 --opcua

Ports 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

PortSurfaceRôle
1883MQTTBroker intégré quand MQTT reste activé
4840OPC UAServeur OPC UA quand --opcua est activé
502Modbus TCPServeur Modbus quand --modbus est activé
8080HTTPAPI admin, Console intégrée, /healthz, /readyz

Volumes et mapping d'environnement

Besoin hôteRéglage conteneur
Persister l'état runtime et le registre localMontez un répertoire writable et pointez MIRAVO_HOME dessus
Remplacer les valeurs runtimeDéfinissez les variables MIRAVO_* et LITMUS_EDGE_* dans environment: ou avec -e
Exécuter des templates ou modèles customMontez 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-factory

Sondes de santé

EndpointButSain quand
GET /healthzVivacitéLe moteur tourne et la boucle de tick avance
GET /readyzDisponibilitéLe moteur tourne et chaque adaptateur activé se déclare prêt
livenessProbe:
  httpGet:
    path: /healthz
    port: 8080
readinessProbe:
  httpGet:
    path: /readyz
    port: 8080

Référence

ÉlémentValeur
Commande par défautstart
Chemin d'état writableMIRAVO_HOME dans le conteneur
Bind admin par défaut0.0.0.0:8080
Root filesystem en lecture seuleOui, 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:latest

Pages liées

Was this page useful?

Last updated on