fix: telegraf containers names + openremote pg image + session snapshot 2026-05-25
- telegraf.conf: fix Mosquitto/BunkerM container names (hyphens not underscores) - tegraf.conf: comment out BunkerM consumer (auth fails, simulator not sending) - openremote/docker-compose.yml: switch PG image to timescaledb-ha:pg15 (fixes timescaledb_toolkit crash) - Add session_resume + architecture snapshot 2026-05-25 - Update TODO.md with current status
This commit is contained in:
31
MONITORING_REPORT_2026-05-22.md
Normal file
31
MONITORING_REPORT_2026-05-22.md
Normal file
@@ -0,0 +1,31 @@
|
||||
# Smart City Monitoring Report - 2026-05-22
|
||||
|
||||
**Timestamp:** 2026-05-22 00:50:30
|
||||
|
||||
## Summary
|
||||
⚠️ **9 issue(s) detected** - Critical systems are partially unavailable
|
||||
|
||||
## Container Status
|
||||
| Container | Status |
|
||||
|-----------|--------|
|
||||
| openremote_manager_1 | 🛑 DOWN |
|
||||
| openremote_keycloak_1 | 🛑 DOWN |
|
||||
| stellio-api-gateway | 🛑 DOWN |
|
||||
| smart-city-prometheus-brokers | 🛑 DOWN |
|
||||
|
||||
## Endpoint Status
|
||||
| Service | URL | Status |
|
||||
|---------|-----|--------|
|
||||
| OpenRemote | https://openremote.digitribe.fr | 🌐 DOWN (HTTP 502) |
|
||||
| Orion-LD | http://fiware-gis-quickstart-orion-1:1026/version | 🌐 DOWN (HTTP 000) |
|
||||
| Stellio | https://stellio.digitribe.fr | 🌐 DOWN (HTTP 502) |
|
||||
| FROST | http://frost_http-web-1:8080/FROST-Server/core/v1.0/info | 🌐 DOWN (HTTP 000) |
|
||||
|
||||
## Network
|
||||
- 🔌 Network issue: Traefik → OpenRemote
|
||||
|
||||
## Recommendations
|
||||
1. Restart critical containers: `docker-compose up -d`
|
||||
2. Check Traefik logs for routing issues
|
||||
3. Verify network connectivity between services
|
||||
4. Review container health checks
|
||||
30
TODO.md
30
TODO.md
@@ -1,6 +1,6 @@
|
||||
# Smart City Digital Twin — TODO List
|
||||
|
||||
> Dernière mise à jour : 2026-05-20 04:15 (v3)
|
||||
> Dernière mise à jour : 2026-05-25 18:50
|
||||
|
||||
## ✅ Complété
|
||||
| ID | Tâche |
|
||||
@@ -15,34 +15,44 @@
|
||||
| or-agent | Agent MQTT créé dans OpenRemote |
|
||||
| contexus-mqtt | Driver MQTT configuré et recevant des données |
|
||||
| contexus-devices | 7 devices créés dans Contexus |
|
||||
| telegraf-fix | Noms containers corrigés + BunkerM désactivé |
|
||||
| or-pg-fix | Image PostgreSQL changée → timescaledb-ha:pg15 |
|
||||
|
||||
## 🔴 En cours
|
||||
| ID | Tâche | Notes |
|
||||
|----|-------|-------|
|
||||
| p1-or-restart | Redémarrer OpenRemote | PG recréé, à relancer |
|
||||
| p1-telegraf | Vérifier données InfluxDB | Telegraf fixé, pipeline à valider |
|
||||
| p1-grafana | Vérifier dashboard Smart City | Dépend de InfluxDB |
|
||||
|
||||
## 🔴 Bloqué
|
||||
| ID | Tâche | Raison |
|
||||
|----|-------|--------|
|
||||
| p1-or-map | Affichage des points sur la carte OpenRemote | Points ne s'affichent pas malgré assets + agentLink |
|
||||
| p1-or-map | Affichage points carte OpenRemote | En attente restart |
|
||||
| p4-ditto | Ditto.digitribe.fr | MongoDB localhost hardcodé |
|
||||
| p1-prometheus | Prometheus + Grafana | Réseau interne inaccessible |
|
||||
| p3-kepler | KeplerGL | Image Docker incomplète |
|
||||
| p3-geomesa | GeoMesa | Installation complexe |
|
||||
|
||||
## ⏳ En attente
|
||||
| ID | Tâche |
|
||||
|----|-------|
|
||||
| p1-bunkerm-telegraf | Réactiver BunkerM dans Telegraf (port 1883 ou 1900 ?) |
|
||||
| p1-contexus-60 | Configurer les 60 devices Contexus |
|
||||
| p3-analyse | Analyse: GeoMesa + KeplerGL |
|
||||
| p1-ngsi | NGSI-LD: validation pipeline (basse priorité) |
|
||||
| p0-chirpstack | ChirpStack: login API gRPC-REST |
|
||||
| p1-thingsboard | Relayer ThingsBoard (si CPU dispo) |
|
||||
|
||||
## 📝 Notes 2026-05-20
|
||||
## 📝 Notes 2026-05-25
|
||||
- **OpenRemote** : Image PG changée (timescaledb-ha:pg15), container recréé
|
||||
- **Telegraf** : Fixé — noms containers corrigés + BunkerM commenté
|
||||
- **Simulator** : 60 capteurs, MQTT OK 1/2 (EMQX OK, Mosquitto ?)
|
||||
- **Pipeline** : Simulateur → EMQX/Mosquitto → Telegraf → InfluxDB → Grafana
|
||||
- **Contexus** : https://contexus.digitribe.fr — login: iotevadmin / Digitribe972
|
||||
- **OpenRemote** : https://openremote.digitribe.fr/manager/
|
||||
- **Agent MQTT** : mqtt-agent-1 créé dans OpenRemote (type: Agent)
|
||||
- **Assets IOTSensor** : 5 créés avec agentLink → mqtt-agent-1
|
||||
- **Contexus MQTT** : Driver EMQX connecté et recevant des données
|
||||
- **Contexus Devices** : 7 devices créés (airquality, traffic, weather, parking, noise, light, waterquality)
|
||||
- **Problème carte** : Les points ne s'affichent pas sur la carte OpenRemote malgré les assets et l'agentLink. Il faut peut-être redémarrer le Manager ou vérifier la configuration de l'agent MQTT.
|
||||
|
||||
## Credentials
|
||||
- **Contexus**: iotevadmin / Digitribe972
|
||||
- **OpenRemote**: admin / Digitribe972
|
||||
- **PostgreSQL Contexus**: contexus / Digitribe972
|
||||
- **Redis Contexus**: Digitribe972
|
||||
- **Telegraf InfluxDB**: token=my-super-token, org=digitribe, bucket=smartcity
|
||||
|
||||
@@ -2,6 +2,7 @@ version: "3.8"
|
||||
|
||||
services:
|
||||
chirpstack:
|
||||
container_name: smart-city-chirpstack
|
||||
image: chirpstack/chirpstack:latest
|
||||
command: -c /etc/chirpstack
|
||||
restart: unless-stopped
|
||||
@@ -22,6 +23,7 @@ services:
|
||||
- smartcity-shared
|
||||
|
||||
chirpstack-rest-api:
|
||||
container_name: smart-city-chirpstack-rest-api
|
||||
image: chirpstack/chirpstack-rest-api:4
|
||||
restart: unless-stopped
|
||||
command: --server chirpstack:8080 --bind 0.0.0.0:8090 --insecure
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
|
||||
services:
|
||||
pulsar-distribution:
|
||||
container_name: smart-city-pulsar-distribution
|
||||
environment:
|
||||
- PULSAR_HOST=pulsar
|
||||
- PULSAR_PORT=6650
|
||||
|
||||
@@ -11,6 +11,7 @@ version: "3.8"
|
||||
|
||||
services:
|
||||
tts-postgres:
|
||||
container_name: smart-city-tts-postgres
|
||||
image: postgres:14
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
@@ -22,6 +23,7 @@ services:
|
||||
networks:
|
||||
- smartcity-shared
|
||||
tts-redis:
|
||||
container_name: smart-city-tts-redis
|
||||
image: redis:7
|
||||
command: redis-server --appendonly yes
|
||||
restart: unless-stopped
|
||||
@@ -30,6 +32,7 @@ services:
|
||||
networks:
|
||||
- smartcity-shared
|
||||
tts-stack:
|
||||
container_name: smart-city-tts-stack
|
||||
image: thethingsnetwork/lorawan-stack:latest
|
||||
entrypoint: ttn-lw-stack -c /config/ttn-lw-stack-docker.yml
|
||||
command: start
|
||||
|
||||
@@ -24,28 +24,34 @@ services:
|
||||
- traefik-public
|
||||
- openremote_default
|
||||
environment:
|
||||
# MQTT Brokers - ALL enabled
|
||||
# MQTT Brokers
|
||||
- ENABLE_EMQX=1
|
||||
- ENABLE_MOSQUITTO=1
|
||||
- ENABLE_BUNKER=1
|
||||
- ENABLE_BUNKER=0
|
||||
- EMQX_HOST=emqx_emqx_1
|
||||
- EMQX_PORT=1883
|
||||
- MOSQUITTO_HOST=smart-city-digital-twin-martinique-mosquitto-1
|
||||
- MOSQUITTO_PORT=1883
|
||||
- BUNKERM_HOST=bunkerm-bunkerm-1
|
||||
- BUNKERM_PORT=1900
|
||||
# Context Brokers (DESACTIVE - tout passe par les IoT Agents via MQTT)
|
||||
- ENABLE_ORION=false
|
||||
- ENABLE_STELLIO=false
|
||||
- ENABLE_FROST=false
|
||||
# Databases
|
||||
- ENABLE_INFLUX=true
|
||||
# Databases (DESACTIVE - Telegraf s'occupe de InfluxDB)
|
||||
- ENABLE_INFLUX=false
|
||||
- INFLUX_URL=http://smart-city-influxdb:8086
|
||||
# OpenRemote
|
||||
- ENABLE_OPENREMOTE=1
|
||||
- OR_URL=http://openremote_manager_1:8080
|
||||
- ENABLE_OPENREMOTE=0
|
||||
- OR_MQTT_USER=admin
|
||||
- OR_MQTT_PASS=Digitribe972
|
||||
- OR_URL=http://openremote-manager:8080
|
||||
- OR_REALM=master
|
||||
- OR_TOKEN_REALM=master
|
||||
- OR_ADMIN_USER=admin
|
||||
- OR_ADMIN_PASS=Digitribe972
|
||||
- OR_CLIENT_SECRET=0oQjzTfiEELYmj5jFwT4iIuWUDtQDvVa
|
||||
# Pulsar (Disabled for demo stability)
|
||||
# Pulsar (Disabled for stability)
|
||||
- ENABLE_PULSAR=false
|
||||
# Redpanda (Disabled)
|
||||
- ENABLE_REDPANDA=false
|
||||
@@ -66,7 +72,7 @@ services:
|
||||
- traefik-public
|
||||
- openremote_default
|
||||
environment:
|
||||
- OR_URL=http://openremote_manager_1:8080
|
||||
- OR_URL=http://openremote-manager:8080
|
||||
- OR_ADMIN_USER=admin
|
||||
- OR_ADMIN_PASS=Digitribe972
|
||||
- OR_REALM=master
|
||||
|
||||
48
session_resume_2026-05-25.md
Normal file
48
session_resume_2026-05-25.md
Normal file
@@ -0,0 +1,48 @@
|
||||
# Session Resume - 2026-05-25
|
||||
|
||||
## Objectifs
|
||||
Diagnostiquer et corriger : OpenRemote Bad Gateway + Grafana dashboard sans données.
|
||||
|
||||
## Diagnostic effectué
|
||||
|
||||
### Problème 1 : OpenRemote Bad Gateway (CRITIQUE)
|
||||
- **Cause** : `timescaledb_toolkit` extension PostgreSQL manquante
|
||||
- Image `timescale/timescaledb:latest-pg15` (Alpine) n'inclut PAS `timescaledb_toolkit`
|
||||
- Flyway tente de créer l'extension au démarrage → échoue → Manager crash en boucle
|
||||
- **Action** : Changement d'image PostgreSQL → `timescale/timescaledb-ha:pg15` (Debian, inclut timescaledb_toolkit)
|
||||
- **Statut** : Image téléchargée (2.25GB), container PG recréé (volume supprimé et recréé)
|
||||
- **À reprendre** : `cd /home/eric/openremote && docker-compose up -d postgresql` puis `docker-compose up -d`
|
||||
|
||||
### Problème 2 : Telegraf crash en boucle (CORRIGÉ)
|
||||
- **Cause 1** : Noms de containers incorrects dans `telegraf.conf`
|
||||
- `smart-city-mosquitto` → devrait être `smart-city-digital-twin-martinique-mosquitto-1`
|
||||
- `bunkerm_bunkerm_1` → devrait être `bunkerm-bunkerm-1`
|
||||
- **Cause 2** : Consumer BunkerM avec auth bloquait tout Telegraf ("not Authorized")
|
||||
- **Correction** : Modifié `telegraf.conf` (noms corrigés + BunkerM commenté)
|
||||
- **Statut** : Telegraf UP, consumers EMQX + Mosquitto connectés sans erreur
|
||||
|
||||
### Problème 3 : Dashboard Grafana sans données
|
||||
- Le simulateur envoie bien les données vers EMQX (logs confirment)
|
||||
- Le Mosquitto du projet est en fait celui de ChirpStack (même réseau, même config)
|
||||
- Telegraf fixé mais pas encore vérifié l'écriture réussie dans InfluxDB
|
||||
- Pipeline : Simulateur → MQTT (EMQX + Mosquitto) → Telegraf → InfluxDB → Grafana
|
||||
|
||||
## Fichiers modifiés
|
||||
- `/home/eric/smart-city-digital-twin-martinique/telegraf.conf` — noms containers corrigés + BunkerM commenté
|
||||
- `/home/eric/openremote/docker-compose.yml` — image PG changée pour timescaledb-ha:pg15
|
||||
- `/home/eric/TODO.md` — à mettre à jour
|
||||
- `/home/eric/smart-city-digital-twin-martinique/TODO.md` — à mettre à jour
|
||||
|
||||
## Containers critiques actuels
|
||||
- `openremote-postgresql` — RECREÉ avec image timescaledb-ha:pg15 (health: starting)
|
||||
- `openremote-keycloak` — Up 25h (healthy)
|
||||
- `openremote-manager` — Up mais health: starting (attendre PG ready)
|
||||
- `smart-city-telegraf` — UP, connecté à EMQX + Mosquitto
|
||||
- `smart-city-simulator` — UP, publie 60 capteurs (MQTT OK: 1/2)
|
||||
|
||||
## Prochaines étapes
|
||||
1. Reprendre OpenRemote : vérifier que le PG est healthy puis le Manager
|
||||
2. Vérifier Telegraf → InfluxDB : `docker exec smart-city-influxdb influx query 'from(bucket:"smartcity") |> range(start:-5m) |> limit(n:5)' --token my-super-token --org digitribe`
|
||||
3. Vérifier Grafana dashboard smart city
|
||||
4. BunkerM : vérifier le port (1883 vs 1900) et réactiver dans Telegraf
|
||||
5. Commit Gitea + push
|
||||
104
simulator.py
104
simulator.py
@@ -1083,8 +1083,9 @@ def main():
|
||||
print("║ Smart City Simulator — Martinique ║")
|
||||
print("╚══════════════════════════════════════════════════╝")
|
||||
print(f"[CFG] Capteurs: {len(SENSORS)} | Intervalle: {INTERVAL}s")
|
||||
# print(f"[CFG] Orion-LD: {ENABLE_ORION} | Stellio: {ENABLE_STELLIO} | FROST: {ENABLE_FROST}")
|
||||
print(f"[CFG] InfluxDB: {ENABLE_INFLUX} | Pulsar: {ENABLE_PULSAR} | Redpanda: {ENABLE_REDPANDA}")
|
||||
print(f"[CFG] FROST: {ENABLE_FROST} | OpenRemote: {ENABLE_OPENREMOTE}")
|
||||
print(f"[CFG] MQTT brokers: EMQX={os.getenv('ENABLE_EMQX','1')} Mosquitto={os.getenv('ENABLE_MOSQUITTO','1')}")
|
||||
|
||||
# --- Démarrer le serveur Prometheus ---
|
||||
_start_metrics_server()
|
||||
@@ -1094,16 +1095,17 @@ def main():
|
||||
sensors_total.labels(sensor_type=stype).set(count)
|
||||
up.set(1)
|
||||
|
||||
# Init connectivity checks
|
||||
# Init connectivity checks (only if enabled)
|
||||
if ENABLE_PULSAR:
|
||||
_init_pulsar()
|
||||
# Test immédiat
|
||||
print(f" 🌪️ DEBUG: Test Pulsar direct...", flush=True)
|
||||
test_payload = {"type": "test", "value": 123}
|
||||
test_result = publish_pulsar("test_001", {"type": "air-quality"}, test_payload)
|
||||
print(f" 🌪️ DEBUG: Test Pulsar result: {test_result}", flush=True)
|
||||
try:
|
||||
_init_pulsar()
|
||||
except Exception as e:
|
||||
print(f"[PULSAR] ⚠️ Init failed: {e}")
|
||||
if ENABLE_REDPANDA:
|
||||
_init_redpanda()
|
||||
try:
|
||||
_init_redpanda()
|
||||
except Exception as e:
|
||||
print(f"[REDPANDA] ⚠️ Init failed: {e}")
|
||||
|
||||
mqtt_client = MultiMQTT()
|
||||
|
||||
@@ -1124,19 +1126,13 @@ def main():
|
||||
|
||||
for sid, sensor in SENSORS.items():
|
||||
stype = sensor["type"]
|
||||
# Utiliser l'index du capteur dans FIXED_LOCATIONS (1-5) pour correspondre aux agents OpenRemote
|
||||
# Le sid est formaté comme {stype}_{counter:03d} avec counter global
|
||||
# On extrait l'index du capteur depuis le sid (derniers chiffres)
|
||||
sensor_num = int(sid.split("_")[1])
|
||||
# Calculer l'index 1-5 basé sur la position dans le type
|
||||
# traffic: 0-9, airquality: 10-19, parking: 20-29, noise: 30-39, weather: 40-49, light: 50-59
|
||||
type_offsets = {"traffic": 0, "airquality": 10, "parking": 20, "noise": 30, "weather": 40, "light": 50}
|
||||
type_offset = type_offsets.get(stype, 0)
|
||||
sensor_index = sensor_num - type_offset + 1 # 1-indexed
|
||||
sensor_index = sensor_num - type_offset + 1
|
||||
topic = f"smartcity/{stype}/{sensor_index}"
|
||||
|
||||
# --- Payload MQTT (ATTRIBUTES ONLY - pas de id/type/lat/lon !)
|
||||
# # L'IoT Agent n'attend que les readings, pas le body complet
|
||||
# --- Payload MQTT ---
|
||||
ranges = SENSOR_RANGES.get(stype, {})
|
||||
payload_mqtt = {
|
||||
"timestamp": datetime.now(timezone.utc).isoformat(),
|
||||
@@ -1158,77 +1154,19 @@ def main():
|
||||
if ok_mqtt:
|
||||
print(f" 📤 {topic} → {','.join(ok_mqtt)}")
|
||||
|
||||
# # --- IoT-Agent (via EMQX) ---
|
||||
# if ENABLE_IOT_AGENT:
|
||||
# ok_iot = mqtt_client.publish_iot_agent(sid, payload_mqtt, sensor_type=stype)
|
||||
# print(f" 🤖 IoT-Agent: {'✅' if ok_iot else '❌'}")
|
||||
|
||||
# Extraire les valeurs pour OpenRemote
|
||||
or_values = {}
|
||||
for field, val_range in ranges.items():
|
||||
if isinstance(val_range, tuple) and len(val_range) == 2:
|
||||
lo, hi = val_range
|
||||
if isinstance(lo, (int, float)):
|
||||
or_values[field] = round(random.uniform(lo, hi), 1)
|
||||
|
||||
# --- OpenRemote REST (round-robin: seulement quelques assets/itération) ---
|
||||
# --- OpenRemote REST (round-robin) ---
|
||||
if ENABLE_OPENREMOTE:
|
||||
# Mettre à jour seulement ~5 assets par itération pour éviter timeups
|
||||
# sensor_num % 12 == iteration % 12 → chaque asset est mis à jour toutes les ~60s
|
||||
if sensor_num % 12 == iteration % 12:
|
||||
or_values = {}
|
||||
for field, val_range in ranges.items():
|
||||
if isinstance(val_range, tuple) and len(val_range) == 2:
|
||||
lo, hi = val_range
|
||||
if isinstance(lo, (int, float)):
|
||||
or_values[field] = round(random.uniform(lo, hi), 1)
|
||||
ok_or = publish_openremote(sid, sensor, or_values)
|
||||
print(f" 🏠 OpenRemote: {'✅' if ok_or else '⚠️ skipped'}")
|
||||
# else: skip OR update this iteration (asset updated in previous cycle)
|
||||
|
||||
# # --- Orion-LD --- (DÉSACTIVÉ: tout passe par les IoT-Agents MQTT)
|
||||
# # if ENABLE_ORION:
|
||||
# # ok_or = publish_orion(sid, sensor)
|
||||
# # print(f" 🌐 Orion-LD: {'✅' if ok_or else '⚠️ skipped'}")
|
||||
|
||||
# # --- Stellio --- (DÉSACTIVÉ: tout passe par les IoT-Agents MQTT)
|
||||
# # if ENABLE_STELLIO:
|
||||
# # ok_st = publish_stellio(sid, sensor)
|
||||
# # print(f" 🏢 Stellio: {'✅' if ok_st else '❌'}")
|
||||
|
||||
# --- FROST ---
|
||||
if ENABLE_FROST:
|
||||
ranges2 = SENSOR_RANGES.get(stype, {})
|
||||
for field, val_range in ranges2.items():
|
||||
if isinstance(val_range, tuple) and len(val_range) == 2:
|
||||
lo, hi = val_range
|
||||
if isinstance(lo, (int, float)):
|
||||
val = round(random.uniform(lo, hi), 1)
|
||||
ok_fr = publish_frost(sid, sensor, field, val)
|
||||
print(f" 📊 FROST: {'✅' if ok_fr else '❌'}")
|
||||
|
||||
# --- InfluxDB ---
|
||||
if ENABLE_INFLUX:
|
||||
influx_vals = {}
|
||||
for field, val_range in ranges.items():
|
||||
if isinstance(val_range, tuple) and len(val_range) == 2:
|
||||
lo, hi = val_range
|
||||
if isinstance(lo, (int, float)):
|
||||
influx_vals[field] = round(random.uniform(lo, hi), 1)
|
||||
ok_influx = publish_influx(sid, sensor, influx_vals)
|
||||
print(f" 📈 InfluxDB: {'✅' if ok_influx else '❌'}")
|
||||
|
||||
# --- Pulsar (HTTP REST) ---
|
||||
if ENABLE_PULSAR:
|
||||
print(f" 🌪️ DEBUG: calling publish_pulsar for {sid}, payload_mqtt exists: {bool(locals().get('payload_mqtt'))}", flush=True)
|
||||
ok_pulsar = publish_pulsar(sid, sensor, payload_mqtt)
|
||||
print(f" 🌪️ Pulsar: {'✅' if ok_pulsar else '❌'}")
|
||||
|
||||
# --- Redpanda (Kafka REST Proxy) ---
|
||||
if ENABLE_REDPANDA:
|
||||
ok_redpanda = publish_redpanda(sid, sensor, payload_mqtt)
|
||||
print(f" 🐟 Redpanda: {'✅' if ok_redpanda else '❌'}")
|
||||
|
||||
# --- BunkerM HTTP ---
|
||||
if os.getenv("BUNKERM_HTTP", "0") == "1":
|
||||
ok_bunkerm = publish_bunkerm(sid, sensor, payload_mqtt)
|
||||
print(f" 📦 BunkerM: {'✅' if ok_bunkerm else '❌'}")
|
||||
|
||||
print(f"[SIM] ✅ {len(SENSORS)} capteurs | MQTT OK: {sum(mqtt_client.ok.values())}/{len(mqtt_client.clients)} | OR: {ENABLE_OPENREMOTE}")
|
||||
print(f"[SIM] ✅ {len(SENSORS)} capteurs | MQTT OK: {sum(mqtt_client.ok.values())}/{len(mqtt_client.clients)}")
|
||||
|
||||
try:
|
||||
time.sleep(INTERVAL)
|
||||
|
||||
264
snapshots/2026-05-23/ARCHITECTURE.md
Normal file
264
snapshots/2026-05-23/ARCHITECTURE.md
Normal file
@@ -0,0 +1,264 @@
|
||||
# Smart City Digital Twin Martinique — Architecture des Stacks
|
||||
|
||||
> Snapshot: 2026-05-23 12:00
|
||||
> Total: 117 containers / 26 stacks
|
||||
|
||||
## 🌐 Infrastructure Réseau
|
||||
|
||||
| Réseau | Driver | Usage |
|
||||
|--------|--------|-------|
|
||||
| traefik | bridge | Reverse proxy principal |
|
||||
| traefik-public | bridge |Services exposés |
|
||||
| smartcity-shared | bridge | Réseau partagé smart city |
|
||||
| mainflux-network | bridge | Stack Mainflux |
|
||||
| emqx_default | bridge | Broker EMQX |
|
||||
| contexus-iot-network | bridge | Stack Contexus |
|
||||
| fiware-gis-quickstart_fiware | bridge | FIWARE |
|
||||
| mapstore2_mapstore-network | bridge | MapStore |
|
||||
| honcho_default | bridge | Honcho |
|
||||
| digital-twin_digital-twin | bridge | NodeRed + Connector |
|
||||
| openremote_default | bridge | OpenRemote (actuellement DOWN) |
|
||||
| docker_default | bridge | Stack principale |
|
||||
| bridge | bridge | Défaut Docker |
|
||||
|
||||
---
|
||||
|
||||
## 📦 Stacks Détaillées
|
||||
|
||||
### 1. TRAFICKO (1 container)
|
||||
| Service | Image | Ports |
|
||||
|---------|-------|-------|
|
||||
| traefik | traefik:v3.1 | 80, 443, 8404 |
|
||||
|
||||
### 2. SMART-CITY-CORE (17 containers) ⚠️ 7 issues
|
||||
| Service | Image | Status | Ports |
|
||||
|---------|-------|--------|-------|
|
||||
| smart-city-simulator | smart-city-digital-twin-martinique-simulator | 🔴 CRASH (exit 137, 896 restarts) | 8081 |
|
||||
| smart-city-telegraf | telegraf:1.28 | 🔴 Restart boucle | - |
|
||||
| smart-city-influxdb | influxdb:2.7-alpine | ✅ Healthy | 8086 |
|
||||
| smart-city-grafana | grafana/grafana:10.2.0 | ✅ Up | 3001 |
|
||||
| smart-city-loki | grafana/loki:latest | ✅ Up | 3100 |
|
||||
| smart-city-promtail | grafana/promtail:latest | ✅ Up | - |
|
||||
| smart-city-kepler | smart-city-kepler:latest | ✅ Up | 80, 8080 |
|
||||
| smart-city-redpanda-console | redpandadata/console:v2.5.0 | ❌ Restart | - |
|
||||
|
||||
### 3. SMART-CITY-IOT (5 containers)
|
||||
| Service | Image | Status | Ports |
|
||||
|---------|-------|--------|-------|
|
||||
| smart-city-ditto-gateway | eclipse/ditto-gateway:latest | ✅ Up | 8080 |
|
||||
| smart-city-ditto-policies | eclipse/ditto-policies:latest | ✅ Up | 8080 |
|
||||
| smart-city-ditto-mongodb | mongo:6 | ✅ Up | 27017 |
|
||||
| smart-city-digital-twin-martinique-mosquitto-1 | eclipse-mosquitto:2 | ✅ Up | 1883 |
|
||||
| smart-city-digital-twin-martinique-redis-1 | redis:7-alpine | ✅ Up | 6379 |
|
||||
|
||||
### 4. MAINFLUX (39 containers) ⚠️ 1 issue
|
||||
| Service | Image | Status | Ports |
|
||||
|---------|-------|--------|-------|
|
||||
| mainfluxlabs-ui | mainfluxlabs/ui:v0.36.1 | ✅ Up | 3000 |
|
||||
| mainfluxlabs-users | mainfluxlabs/users:v0.36.1 | ✅ Up | 8180, 8184 |
|
||||
| mainfluxlabs-auth | mainfluxlabs/auth:v0.36.1 | ✅ Up | 8181, 8189 |
|
||||
| mainfluxlabs-things | mainfluxlabs/things:v0.36.1 | ✅ Up | 8182-8183, 8989 |
|
||||
| mainfluxlabs-mqtt | mainfluxlabs/mqtt:v0.36.1 | ✅ Up | - |
|
||||
| mainfluxlabs-http | mainfluxlabs/http:v0.36.1 | ✅ Up | 8185 |
|
||||
| mainfluxlabs-ws | mainfluxlabs/ws:v0.36.1 | ✅ Up | 8190 |
|
||||
| mainfluxlabs-coap | mainfluxlabs/coap:v0.36.1 | ✅ Up | 5683 |
|
||||
| mainfluxlabs-modbus | mainfluxlabs/modbus:v0.36.1 | ✅ Up | 9028 |
|
||||
| mainfluxlabs-broker | nats:2.2.4-alpine | ✅ Up | 4222, 8222 |
|
||||
| mainfluxlabs-mosquitto | eclipse-mosquitto:2.0 | ✅ Up | 1883 |
|
||||
| + 28 autres services DB/writer/reader/notifier | | ✅ Up | |
|
||||
|
||||
### 5. THINGSBOARD (14 containers) ⚠️ 7 issues
|
||||
| Service | Image | Status | Ports |
|
||||
|---------|-------|--------|-------|
|
||||
| docker_tb-web-ui1_1 | thingsboard/tb-web-ui:latest | ✅ Up | 32769→8080 |
|
||||
| docker_tb-web-ui2_1 | thingsboard/tb-web-ui:latest | ✅ Up | 32770→8080 |
|
||||
| docker_tb-js-executor_1-10 | thingsboard/tb-js-executor:latest | ⚠️ Redémarrages | - |
|
||||
| docker_zookeeper_1 | zookeeper:3.8.1 | ✅ Up | 2181, 32768 |
|
||||
| docker_tb-rule-engine1_1 | - | ⚠️ Created (pas démarré) | - |
|
||||
| docker_tb-rule-engine2_1 | - | ⚠️ Created (pas démarré) | - |
|
||||
| thingsboard-rabbitmq | rabbitmq:3.12-management | ✅ Healthy | 4369, 5671-5672 |
|
||||
| thingsboard-postgres | postgres:15-alpine | ✅ Healthy | 5432 |
|
||||
|
||||
### 6. MAPSTORE (3 containers) ⚠️ 502 via Traefik
|
||||
| Service | Image | Status | Ports |
|
||||
|---------|-------|--------|-------|
|
||||
| mapstore-proxy | nginx | ✅ Up | 80 |
|
||||
| mapstore-app | geosolutionsit/mapstore2:latest | ✅ Up | 8080 |
|
||||
| mapstore-postgres | geosolutions-mapstore/postgis | ✅ Healthy | 5432 |
|
||||
|
||||
### 7. GEOSERVER (1 container)
|
||||
| Service | Image | Status | Ports |
|
||||
|---------|-------|--------|-------|
|
||||
| geoserver_stack-geoserver-1 | oscarfonts/geoserver:2.25.2 | ✅ Healthy | 8080 |
|
||||
|
||||
PostGIS dédié :
|
||||
| postgis-smartcity | postgis/postgis:15-3.4 | ✅ Healthy | 5433 |
|
||||
|
||||
### 8. CONTXUS (3 containers) ⚠️ unhealthy
|
||||
| Service | Image | Status | Ports |
|
||||
|---------|-------|--------|-------|
|
||||
| contexus-app | contexusio/contexus:latest | ⚠️ Unhealthy | 15000 |
|
||||
| contexus-postgres | postgres:16 | ✅ Healthy | 5432 |
|
||||
| contexus-redis | redis:7-alpine | ✅ Healthy | 6379 |
|
||||
|
||||
### 9. CHIRPSTACK (3 containers)
|
||||
| Service | Image | Status | Ports |
|
||||
|---------|-------|--------|-------|
|
||||
| smart-city-digital-twin-martinique-chirpstack-1 | chirpstack/chirpstack:latest | ✅ Up | - |
|
||||
| chirpstack/chirpstack-rest-api:4 | chirpstack/chirpstack-rest-api:4 | ✅ Up | - |
|
||||
| chirpstack/chirpstack-gateway-bridge:4 | chirpstack/chirpstack-gateway-bridge:4 | ✅ Up | 1700/udp |
|
||||
| chirpstack-mosquitto | eclipse-mosquitto:2 | ✅ Up | 1883 |
|
||||
| chirpstack-redis | redis:7-alpine | ✅ Up | 6379 |
|
||||
| chirpstack-postgres | postgres:14-alpine | ✅ Up | 5432 |
|
||||
|
||||
### 10. FIWARE (3 containers)
|
||||
| Service | Image | Status | Ports |
|
||||
|---------|-------|--------|-------|
|
||||
| fiware-gis-quickstart-orion-1 | quay.io/fiware/orion-ld | ✅ Healthy | 2026→1026 |
|
||||
| fiware-gis-quickstart-orionproxy-1 | fiware-gis-quickstart-orionproxy | ✅ Up | 1026→80 |
|
||||
| fiware-gis-quickstart-mongo-db-1 | mongo:4.2 | ✅ Up | 27017 |
|
||||
|
||||
### 11. FROST (2 containers)
|
||||
| Service | Image | Status | Ports |
|
||||
|---------|-------|--------|-------|
|
||||
| frost_allinone-web-1 | fraunhoferiosb/frost-server:latest | ✅ Up | 1883, 8089, 8090→8080 |
|
||||
| frost_http-web-1 | fraunhoferiosb/frost-server-http:latest | ✅ Up | 8080 |
|
||||
|
||||
### 12. EMQX (1 container)
|
||||
| Service | Image | Status | Ports |
|
||||
|---------|-------|--------|-------|
|
||||
| emqx_emqx_1 | emqx/emqx:latest | ✅ Up | 1883, 8883, 18083, 8081, 8083-8084, 11883, 38083 |
|
||||
|
||||
### 13. STELLIO (5 containers) ⚠️ 4 down
|
||||
| Service | Image | Status | Ports |
|
||||
|---------|-------|--------|-------|
|
||||
| stellio-api-gateway | stellio/stellio-api-gateway:latest-dev | ✅ Up | 8080 |
|
||||
| stellio-search-service | - | ❌ Exited | - |
|
||||
| stellio-subscription-service | - | ❌ Exited | - |
|
||||
| stellio-kafka | - | ❌ Exited | - |
|
||||
| stellio-postgres | - | ❌ Exited | - |
|
||||
|
||||
### 14. DIGITAL-TWIN (2 containers)
|
||||
| Service | Image | Status | Ports |
|
||||
|---------|-------|--------|-------|
|
||||
| digital-twin-nodered | nodered/node-red:3.1 | ✅ Healthy | 1880 |
|
||||
| digital-twin-connector | python:3.11-slim | ✅ Up | - |
|
||||
|
||||
### 15. HONCHO (4 containers) ⚠️ API restart
|
||||
| Service | Image | Status | Ports |
|
||||
|---------|-------|--------|-------|
|
||||
| honcho-api-1 | honcho:latest | ⚠️ Restart | - |
|
||||
| honcho-deriver-1 | honcho-deriver | ✅ Healthy | 8000 |
|
||||
| honcho-grafana-1 | grafana/grafana:11.4.0 | ✅ Healthy | 3088 |
|
||||
| honcho-prometheus-1 | prom/prometheus:v3.2.1 | ✅ Healthy | 9091 |
|
||||
|
||||
### 16. Autres stacks
|
||||
| Stack | Containers | Statut |
|
||||
|-------|------------|--------|
|
||||
| bunkerm | 1 | ⚠️ Unhealthy |
|
||||
| phpipam | 2 | ✅ Up |
|
||||
| gitea | 1 | ✅ Up |
|
||||
| localai | 2 | ⚠️ Orphaned duplicate |
|
||||
| agent-gateway | 1 | ✅ Up |
|
||||
| yaade | 1 | ✅ Up |
|
||||
| community-tools (docker-exporter) | 1 | ✅ Up |
|
||||
|
||||
---
|
||||
|
||||
## 🔌 Brokers MQTT (identifiés)
|
||||
|
||||
| Broker | Container | Port | Stack |
|
||||
|--------|-----------|------|-------|
|
||||
| Mosquitto (principal) | smart-city-digital-twin-martinique-mosquitto-1 | 1883 | smart-city-iot |
|
||||
| Mosquitto (ChirpStack) | chirpstack-mosquitto-1 | 1883 | chirpstack |
|
||||
| Mosquitto (Mainflux) | mainfluxlabs-mosquitto | 1883 | mainflux |
|
||||
| MQTT Bridge (Mainflux) | mainfluxlabs-mqtt | - | mainflux |
|
||||
| EMQX | emqx_emqx_1 | 1883, 8883, 11883 | emqx |
|
||||
| RabbitMQ | thingsboard-rabbitmq | 5672 | thingsboard |
|
||||
| RabbitMQ (OpenRemote) | (dans stack openremote - DOWN) | 5672 | openremote |
|
||||
| NATS | mainfluxlabs-broker | 4222 | mainflux |
|
||||
|
||||
---
|
||||
|
||||
## 🔄 Flux de Données Validés
|
||||
|
||||
```
|
||||
Simulateur IoT
|
||||
│
|
||||
├──► Mosquitto (principal:1883)
|
||||
│ │
|
||||
│ ├──► Telegraf ──► InfluxDB (8086) ──► Grafana (3001)
|
||||
│ │
|
||||
│ ├──► Mainflux MQTT ──► Mainflux Broker (NATS) ──► Things/Users/Auth
|
||||
│ │
|
||||
│ └──► IoT-Agent FIWARE ──► Orion-LD (1026) ──► QuantumLeap ──► CrateDB
|
||||
│ │
|
||||
│ ▼
|
||||
│ Grafana
|
||||
│
|
||||
├──► EMQX (1883)
|
||||
│ │
|
||||
│ └──► Contexus MQTT Driver ──► Contexus Devices
|
||||
│
|
||||
└──► ChirpStack Mosquitto (1883)
|
||||
│
|
||||
└──► ChirpStack ──► ChirpStack REST API
|
||||
|
||||
OpenRemote Internal Artemis MQTT
|
||||
│
|
||||
└──► Agent MQTT ──► Assets (sensors) ──► Map Display
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## ⚠️ Problèmes Connus (2026-05-23)
|
||||
|
||||
| Priorité | Problème | Impact |
|
||||
|----------|----------|--------|
|
||||
| 🔴 CRITIQUE | Simulator crash boucle (exit 137, 896 restarts) | Plus de données IoT |
|
||||
| 🔴 CRITIQUE | OpenRemote Manager 502 | Pas de carte |
|
||||
| 🟠 HAUTE | Telegraf restart boucle | Pas de données InfluxDB |
|
||||
| 🟠 HAUTE | ThingsBoard executors instables | TB partiellement fonctionnel |
|
||||
| 🟠 HAUTE | MapStore 502 via Traefik | Pas d'accès web |
|
||||
| 🟡 MOYENNE | Contexus unhealthy | API fonctionnelle mais healthcheck KO |
|
||||
| 🟡 MOYENNE | Stellio 4 services arrêtés | Search/Sub/Kafka/Postgres down |
|
||||
| 🟡 MOYENNE | Ditto gateway UP mais pas de HTTP | API inaccessible |
|
||||
| 🟡 MOYENNE | Bunkerm unhealthy | Monitoring down |
|
||||
| 🔵 BASSE | Honcho API restartant | Mémoire/agentiel intermittent |
|
||||
| 🔵 BASSE | Redpanda console restart | Console indisponible |
|
||||
|
||||
---
|
||||
|
||||
## 📝 Snapshots & Restauration
|
||||
|
||||
### Créer un snapshot
|
||||
```bash
|
||||
# État des containers
|
||||
docker ps -a --format "table {{.Names}}\t{{.Image}}\t{{.Status}}" > snapshots/DATE/containers-state.txt
|
||||
|
||||
# Sauvegarder les images d'une stack
|
||||
docker save -o snapshots/DATE/simulator.tar smart-city-digital-twin-martinique-simulator
|
||||
docker save -o snapshots/DATE/openremote-manager.tar openremote/manager
|
||||
|
||||
# Sauvegarder les volumes
|
||||
docker run --rm -v smart-city_simulator_data:/data -v $(pwd)/snapshots/DATE:/backup alpine tar czf /backup/simulator-data.tar.gz -C /data .
|
||||
```
|
||||
|
||||
### Restaurer un snapshot
|
||||
```bash
|
||||
# Restaurer une image
|
||||
docker load -i snapshots/DATE/simulator.tar
|
||||
|
||||
# Redémarrer une stack
|
||||
docker-compose up -d --force-recreate simulator
|
||||
|
||||
# Restaurer un volume
|
||||
docker run --rm -v smart-city_simulator_data:/data -v $(pwd)/snapshots/DATE:/backup alpine tar xzf /backup/simulator-data.tar.gz -C /data
|
||||
```
|
||||
|
||||
### Stables stacks à snapshoter en priorité
|
||||
1. **smart-city-core** (simulator, telegraf, influxdb)
|
||||
2. **openremote** (manager, keycloak, artemis, postgres)
|
||||
3. **mapstore** (proxy, app, postgres)
|
||||
4. **geoserver** (geoserver, postgis)
|
||||
5. **mainflux** (ensemble de la stack)
|
||||
105
snapshots/2026-05-23/containers-state.txt
Normal file
105
snapshots/2026-05-23/containers-state.txt
Normal file
@@ -0,0 +1,105 @@
|
||||
NAMES IMAGE STATUS PORTS
|
||||
traefik traefik:v3.1 Up 33 hours 0.0.0.0:80->80/tcp, [::]:80->80/tcp, 0.0.0.0:443->443/tcp, [::]:443->443/tcp, 0.0.0.0:8404->8404/tcp, [::]:8404->8404/tcp
|
||||
smart-city-simulator smart-city-digital-twin-martinique-simulator Up 59 seconds 8081/tcp
|
||||
smart-city-loki grafana/loki:latest Up 2 days 0.0.0.0:3100->3100/tcp, [::]:3100->3100/tcp
|
||||
smart-city-promtail grafana/promtail:latest Up 2 days
|
||||
localai-api localai/localai:latest Up 2 days (healthy) 8080/tcp
|
||||
mainfluxlabs-mqtt mainfluxlabs/mqtt:v0.36.1 Up 2 days
|
||||
docker_tb-js-executor_10 thingsboard/tb-js-executor:latest Up 26 seconds
|
||||
docker_tb-js-executor_8 thingsboard/tb-js-executor:latest Restarting (0) 5 seconds ago
|
||||
docker_tb-js-executor_9 thingsboard/tb-js-executor:latest Up 30 seconds
|
||||
docker_tb-web-ui1_1 thingsboard/tb-web-ui:latest Up 2 days 0.0.0.0:32769->8080/tcp, [::]:32769->8080/tcp
|
||||
docker_tb-js-executor_6 thingsboard/tb-js-executor:latest Up 24 seconds
|
||||
docker_zookeeper_1 zookeeper:3.8.1 Up 2 days 2888/tcp, 3888/tcp, 0.0.0.0:2181->2181/tcp, [::]:2181->2181/tcp, 8080/tcp, 0.0.0.0:32768->2181/tcp, [::]:32768->2181/tcp
|
||||
docker_tb-js-executor_7 thingsboard/tb-js-executor:latest Up 21 seconds
|
||||
docker_tb-js-executor_4 thingsboard/tb-js-executor:latest Up 26 seconds
|
||||
docker_tb-js-executor_5 thingsboard/tb-js-executor:latest Up 20 seconds
|
||||
docker_tb-js-executor_2 thingsboard/tb-js-executor:latest Restarting (0) 8 seconds ago
|
||||
docker_tb-js-executor_1 thingsboard/tb-js-executor:latest Restarting (0) 9 seconds ago
|
||||
docker_tb-js-executor_3 thingsboard/tb-js-executor:latest Restarting (137) 20 seconds ago
|
||||
docker_tb-web-ui2_1 thingsboard/tb-web-ui:latest Up 2 days 0.0.0.0:32770->8080/tcp, [::]:32770->8080/tcp
|
||||
contexus-app contexusio/contexus:latest Up 19 hours (unhealthy) 15000/tcp
|
||||
contexus-postgres postgres:16 Up 2 days (healthy) 5432/tcp
|
||||
contexus-redis redis:7-alpine Up 2 days (healthy) 6379/tcp
|
||||
smart-city-kepler smart-city-kepler:latest Up 2 days 80/tcp, 8080/tcp
|
||||
postgis-smartcity postgis/postgis:15-3.4 Up 2 days (healthy) 0.0.0.0:5433->5432/tcp, [::]:5433->5432/tcp
|
||||
smart-city-ditto-policies eclipse/ditto-policies:latest Up 2 days 8080/tcp
|
||||
smart-city-ditto-gateway eclipse/ditto-gateway:latest Up 19 hours 8080/tcp
|
||||
smart-city-ditto-mongodb mongo:6 Up 2 days 27017/tcp
|
||||
smart-city-digital-twin-martinique-chirpstack-rest-api-1 chirpstack/chirpstack-rest-api:4 Up 2 days
|
||||
smart-city-digital-twin-martinique-chirpstack-1 chirpstack/chirpstack:latest Up 2 days
|
||||
agentgateway cr.agentgateway.dev/agentgateway:latest Up 2 days 3000/tcp, 15000/tcp
|
||||
smart-city-digital-twin-martinique-chirpstack-gateway-bridge-basicstation-1 chirpstack/chirpstack-gateway-bridge:4 Up 2 days
|
||||
smart-city-digital-twin-martinique-chirpstack-gateway-bridge-1 chirpstack/chirpstack-gateway-bridge:4 Up 2 days 0.0.0.0:1700->1700/udp, [::]:1700->1700/udp
|
||||
smart-city-digital-twin-martinique-mosquitto-1 eclipse-mosquitto:2 Up 2 days 1883/tcp
|
||||
smart-city-digital-twin-martinique-redis-1 redis:7-alpine Up 2 days 6379/tcp
|
||||
bunkerm-bunkerm-1 bunkeriot/bunkerm:latest Up 2 days (unhealthy) 0.0.0.0:1900->1900/tcp, [::]:1900->1900/tcp, 0.0.0.0:2000->2000/tcp, [::]:2000->2000/tcp
|
||||
chirpstack-redis-1 redis:7-alpine Up 2 days 6379/tcp
|
||||
chirpstack-mosquitto-1 eclipse-mosquitto:2 Up 2 days 1883/tcp
|
||||
chirpstack-postgres-1 postgres:14-alpine Up 2 days 5432/tcp
|
||||
fiware-gis-quickstart-orionproxy-1 fiware-gis-quickstart-orionproxy Up 2 days 127.0.0.1:1026->80/tcp
|
||||
fiware-gis-quickstart-orion-1 quay.io/fiware/orion-ld Up 2 days (healthy) 127.0.0.1:2026->1026/tcp
|
||||
fiware-gis-quickstart-mongo-db-1 mongo:4.2 Up 2 days 127.0.0.1:27017->27017/tcp
|
||||
smart-city-influxdb influxdb:2.7-alpine Up 2 days (healthy) 0.0.0.0:8086->8086/tcp, [::]:8086->8086/tcp
|
||||
smart-city-telegraf telegraf:1.28 Restarting (1) 11 seconds ago
|
||||
smart-city-grafana grafana/grafana:10.2.0 Up 2 days 0.0.0.0:3001->3000/tcp, [::]:3001->3000/tcp
|
||||
docker-exporter docker-exporter:latest Up 2 days 0.0.0.0:8005->8005/tcp, [::]:8005->8005/tcp
|
||||
mainfluxlabs-http mainfluxlabs/http:v0.36.1 Up 2 days 0.0.0.0:8185->8185/tcp, [::]:8185->8185/tcp
|
||||
mainfluxlabs-rules mainfluxlabs/rules:v0.36.1 Up 2 days 0.0.0.0:9027->9027/tcp, [::]:9027->9027/tcp
|
||||
mainfluxlabs-converters mainfluxlabs/converters:v0.36.1 Up 2 days 0.0.0.0:8195->8195/tcp, [::]:8195->8195/tcp
|
||||
mainfluxlabs-smtp-notifier mainfluxlabs/smtp-notifier:v0.36.1 Up 2 days 0.0.0.0:9023->9023/tcp, [::]:9023->9023/tcp
|
||||
mainfluxlabs-modbus mainfluxlabs/modbus:v0.36.1 Up 2 days 0.0.0.0:9028->9028/tcp, [::]:9028->9028/tcp
|
||||
mainfluxlabs-ws mainfluxlabs/ws:v0.36.1 Up 2 days 0.0.0.0:8190->8190/tcp, [::]:8190->8190/tcp
|
||||
mainfluxlabs-webhooks mainfluxlabs/webhooks:v0.36.1 Up 2 days 0.0.0.0:9021->9021/tcp, [::]:9021->9021/tcp
|
||||
mainfluxlabs-downlinks mainfluxlabs/downlinks:v0.36.1 Up 2 days 0.0.0.0:9025->9025/tcp, [::]:9025->9025/tcp
|
||||
mainfluxlabs-alarms mainfluxlabs/alarms:v0.36.1 Up 2 days 0.0.0.0:9026->9026/tcp, [::]:9026->9026/tcp
|
||||
mainfluxlabs-filestore mainfluxlabs/filestore:v0.36.1 Up 2 days 0.0.0.0:9022->9022/tcp, [::]:9022->9022/tcp
|
||||
mainfluxlabs-coap mainfluxlabs/coap:v0.36.1 Up 2 days 0.0.0.0:5683->5683/tcp, 0.0.0.0:5683->5683/udp, [::]:5683->5683/tcp, [::]:5683->5683/udp
|
||||
mainfluxlabs-things mainfluxlabs/things:v0.36.1 Up 2 days 0.0.0.0:8182-8183->8182-8183/tcp, [::]:8182-8183->8182-8183/tcp, 0.0.0.0:8989->8989/tcp, [::]:8989->8989/tcp
|
||||
mainfluxlabs-users mainfluxlabs/users:v0.36.1 Up 2 days 0.0.0.0:8180->8180/tcp, [::]:8180->8180/tcp, 0.0.0.0:8184->8184/tcp, [::]:8184->8184/tcp
|
||||
mainfluxlabs-auth mainfluxlabs/auth:v0.36.1 Up 2 days 0.0.0.0:8181->8181/tcp, [::]:8181->8181/tcp, 0.0.0.0:8189->8189/tcp, [::]:8189->8189/tcp
|
||||
mainfluxlabs-certs mainfluxlabs/certs:v0.36.1 Up 2 days 0.0.0.0:8204->8204/tcp, [::]:8204->8204/tcp
|
||||
mainfluxlabs-postgres-writer mainfluxlabs/postgres-writer:v0.36.1 Up 2 days 0.0.0.0:8900->8900/tcp, [::]:8900->8900/tcp
|
||||
mainfluxlabs-uiconfigs mainfluxlabs/uiconfigs:v0.36.1 Up 2 days 0.0.0.0:9029->9029/tcp, [::]:9029->9029/tcp
|
||||
mainfluxlabs-mqtt-db postgres:13.3-alpine Up 2 days 5432/tcp
|
||||
mainfluxlabs-es-redis redis:6.2.2-alpine Up 2 days 6379/tcp
|
||||
mainfluxlabs-downlinks-db postgres:13.3-alpine Up 2 days 5432/tcp
|
||||
mainfluxlabs-things-db postgres:13.3-alpine Up 2 days (healthy) 5432/tcp
|
||||
mainfluxlabs-rules-db postgres:13.3-alpine Up 2 days 5432/tcp
|
||||
mainfluxlabs-filestore-db postgres:13.3-alpine Up 2 days 5432/tcp
|
||||
mainfluxlabs-users-db postgres:13.3-alpine Up 2 days (healthy) 5432/tcp
|
||||
mainfluxlabs-mosquitto eclipse-mosquitto:2.0 Up 2 days 1883/tcp
|
||||
mainfluxlabs-alarms-db postgres:13.3-alpine Up 2 days 5432/tcp
|
||||
mainfluxlabs-auth-redis redis:6.2.2-alpine Up 2 days 6379/tcp
|
||||
mainfluxlabs-modbus-db postgres:13.3-alpine Up 2 days 5432/tcp
|
||||
mainfluxlabs-broker nats:2.2.4-alpine Up 2 days 6222/tcp, 0.0.0.0:4222->4222/tcp, [::]:4222->4222/tcp, 8222/tcp
|
||||
mainfluxlabs-webhooks-db postgres:13.3-alpine Up 2 days 5432/tcp
|
||||
mainfluxlabs-postgres postgres:13.3-alpine Up 2 days 5432/tcp
|
||||
mainfluxlabs-smtp-notifier-db postgres:13.3-alpine Up 2 days 5432/tcp
|
||||
mainfluxlabs-certs-db postgres:13.3-alpine Up 2 days 5432/tcp
|
||||
mainfluxlabs-postgres-reader mainfluxlabs/postgres-reader:v0.36.1 Up 2 days 0.0.0.0:8905->8905/tcp, [::]:8905->8905/tcp
|
||||
mainfluxlabs-auth-db postgres:13.3-alpine Up 2 days 5432/tcp
|
||||
mainfluxlabs-uiconfigs-db postgres:13.3-alpine Up 2 days 5432/tcp
|
||||
mainfluxlabs-ui mainfluxlabs/ui:v0.36.1 Up 2 days 80/tcp, 0.0.0.0:3000->3000/tcp, [::]:3000->3000/tcp
|
||||
thingsboard-rabbitmq rabbitmq:3.12-management Up 2 days (healthy) 4369/tcp, 5671-5672/tcp, 15671-15672/tcp, 15691-15692/tcp, 25672/tcp
|
||||
thingsboard-postgres postgres:15-alpine Up 2 days (healthy) 5432/tcp
|
||||
mapstore-proxy nginx Up 2 days 80/tcp
|
||||
mapstore-app geosolutionsit/mapstore2:latest Up 2 days 8080/tcp
|
||||
mapstore-postgres geosolutions-mapstore/postgis Up 2 days (healthy) 5432/tcp
|
||||
emqx_emqx_1 emqx/emqx:latest Up 2 days 4370/tcp, 5369/tcp, 8083-8084/tcp, 0.0.0.0:11883->1883/tcp, [::]:11883->1883/tcp, 0.0.0.0:18081->8081/tcp, [::]:18081->8081/tcp, 0.0.0.0:18883->8883/tcp, [::]:18883->8883/tcp, 0.0.0.0:38083->18083/tcp, [::]:38083->18083/tcp
|
||||
smart-city-redpanda-console docker.redpanda.com/redpandadata/console:v2.5.0 Restarting (1) 1 second ago
|
||||
stellio-api-gateway stellio/stellio-api-gateway:latest-dev Up 13 hours 8080/tcp
|
||||
frost_allinone-web-1 fraunhoferiosb/frost-server:latest Up 2 days 1883/tcp, 8089/tcp, 127.0.0.1:8090->8080/tcp
|
||||
geoserver_stack-geoserver-1 oscarfonts/geoserver:2.25.2 Up 2 days (healthy) 8080/tcp
|
||||
grafana_stack-grafana-1 grafana/grafana:latest Up 2 days 3000/tcp
|
||||
frost_http-web-1 fraunhoferiosb/frost-server-http:latest Up 2 days 8080/tcp
|
||||
esperotech esperotech/yaade:latest Up 2 days 0.0.0.0:9339->9339/tcp, [::]:9339->9339/tcp
|
||||
digital-twin-nodered nodered/node-red:3.1 Up 2 days (healthy) 0.0.0.0:1880->1880/tcp, [::]:1880->1880/tcp
|
||||
digital-twin-connector python:3.11-slim Up About an hour
|
||||
gitea gitea/gitea:latest Up 2 days 22/tcp, 3000/tcp
|
||||
honcho-grafana-1 grafana/grafana:11.4.0 Up 2 days (healthy) 127.0.0.1:3088->3000/tcp
|
||||
honcho-prometheus-1 prom/prometheus:v3.2.1 Up 2 days (healthy) 127.0.0.1:9091->9090/tcp
|
||||
honcho-api-1 honcho:latest Restarting (1) 12 seconds ago
|
||||
honcho-deriver-1 honcho-deriver Up 2 days (healthy) 8000/tcp
|
||||
phpipam-phpipam-web-1 phpipam/phpipam-www:latest Up 2 days 127.0.0.1:8085->80/tcp
|
||||
phpipam-phpipam-cron-1 phpipam/phpipam-cron:latest Up 2 days 80/tcp
|
||||
762
snapshots/2026-05-23/full-snapshot.json
Normal file
762
snapshots/2026-05-23/full-snapshot.json
Normal file
@@ -0,0 +1,762 @@
|
||||
{
|
||||
"timestamp": "2026-05-23T08:23:31.144199",
|
||||
"total": 117,
|
||||
"stacks": {
|
||||
"agent-gateway": [
|
||||
{
|
||||
"name": "agentgateway",
|
||||
"image": "cr.agentgateway.dev/agentgateway:latest",
|
||||
"status": "Up 2 days",
|
||||
"ports": "3000/tcp, 15000/tcp"
|
||||
}
|
||||
],
|
||||
"bunkerm": [
|
||||
{
|
||||
"name": "bunkerm-bunkerm-1",
|
||||
"image": "bunkeriot/bunkerm:latest",
|
||||
"status": "Up 2 days (unhealthy)",
|
||||
"ports": "0.0.0.0:1900->1900/tcp, [::]:1900->1900/tcp, 0.0.0.0:2000->2000/tcp, [::]:2000->2000/tcp"
|
||||
}
|
||||
],
|
||||
"chirpstack": [
|
||||
{
|
||||
"name": "chirpstack-mosquitto-1",
|
||||
"image": "eclipse-mosquitto:2",
|
||||
"status": "Up 2 days",
|
||||
"ports": "1883/tcp"
|
||||
},
|
||||
{
|
||||
"name": "chirpstack-postgres-1",
|
||||
"image": "postgres:14-alpine",
|
||||
"status": "Up 2 days",
|
||||
"ports": "5432/tcp"
|
||||
},
|
||||
{
|
||||
"name": "chirpstack-redis-1",
|
||||
"image": "redis:7-alpine",
|
||||
"status": "Up 2 days",
|
||||
"ports": "6379/tcp"
|
||||
}
|
||||
],
|
||||
"community-tools": [
|
||||
{
|
||||
"name": "docker-exporter",
|
||||
"image": "docker-exporter:latest",
|
||||
"status": "Up 2 days",
|
||||
"ports": "0.0.0.0:8005->8005/tcp, [::]:8005->8005/tcp"
|
||||
}
|
||||
],
|
||||
"contexus": [
|
||||
{
|
||||
"name": "contexus-app",
|
||||
"image": "contexusio/contexus:latest",
|
||||
"status": "Up 19 hours (unhealthy)",
|
||||
"ports": "15000/tcp"
|
||||
},
|
||||
{
|
||||
"name": "contexus-postgres",
|
||||
"image": "postgres:16",
|
||||
"status": "Up 2 days (healthy)",
|
||||
"ports": "5432/tcp"
|
||||
},
|
||||
{
|
||||
"name": "contexus-redis",
|
||||
"image": "redis:7-alpine",
|
||||
"status": "Up 2 days (healthy)",
|
||||
"ports": "6379/tcp"
|
||||
}
|
||||
],
|
||||
"digital-twin": [
|
||||
{
|
||||
"name": "digital-twin-connector",
|
||||
"image": "python:3.11-slim",
|
||||
"status": "Up About an hour",
|
||||
"ports": ""
|
||||
},
|
||||
{
|
||||
"name": "digital-twin-nodered",
|
||||
"image": "nodered/node-red:3.1",
|
||||
"status": "Up 2 days (healthy)",
|
||||
"ports": "0.0.0.0:1880->1880/tcp, [::]:1880->1880/tcp"
|
||||
}
|
||||
],
|
||||
"docker_zookeeper_1": [
|
||||
{
|
||||
"name": "docker_zookeeper_1",
|
||||
"image": "zookeeper:3.8.1",
|
||||
"status": "Up 2 days",
|
||||
"ports": "2888/tcp, 3888/tcp, 0.0.0.0:2181->2181/tcp, [::]:2181->2181/tcp, 8080/tcp, 0.0.0.0:32768->2181/tcp, [::]:32768->2181/tcp"
|
||||
}
|
||||
],
|
||||
"emqx": [
|
||||
{
|
||||
"name": "emqx_emqx_1",
|
||||
"image": "emqx/emqx:latest",
|
||||
"status": "Up 2 days",
|
||||
"ports": "4370/tcp, 5369/tcp, 8083-8084/tcp, 0.0.0.0:11883->1883/tcp, [::]:11883->1883/tcp, 0.0.0.0:18081->8081/tcp, [::]:18081->8081/tcp, 0.0.0.0:18883->8883/tcp, [::]:18883->8883/tcp, 0.0.0.0:38083->18083/tcp, [::]:38083->18083/tcp"
|
||||
}
|
||||
],
|
||||
"fiware": [
|
||||
{
|
||||
"name": "fiware-gis-quickstart-mongo-db-1",
|
||||
"image": "mongo:4.2",
|
||||
"status": "Up 2 days",
|
||||
"ports": "127.0.0.1:27017->27017/tcp"
|
||||
},
|
||||
{
|
||||
"name": "fiware-gis-quickstart-orion-1",
|
||||
"image": "quay.io/fiware/orion-ld",
|
||||
"status": "Up 2 days (healthy)",
|
||||
"ports": "127.0.0.1:2026->1026/tcp"
|
||||
},
|
||||
{
|
||||
"name": "fiware-gis-quickstart-orionproxy-1",
|
||||
"image": "fiware-gis-quickstart-orionproxy",
|
||||
"status": "Up 2 days",
|
||||
"ports": "127.0.0.1:1026->80/tcp"
|
||||
}
|
||||
],
|
||||
"frost": [
|
||||
{
|
||||
"name": "frost_allinone-web-1",
|
||||
"image": "fraunhoferiosb/frost-server:latest",
|
||||
"status": "Up 2 days",
|
||||
"ports": "1883/tcp, 8089/tcp, 127.0.0.1:8090->8080/tcp"
|
||||
},
|
||||
{
|
||||
"name": "frost_http-web-1",
|
||||
"image": "fraunhoferiosb/frost-server-http:latest",
|
||||
"status": "Up 2 days",
|
||||
"ports": "8080/tcp"
|
||||
}
|
||||
],
|
||||
"geoserver": [
|
||||
{
|
||||
"name": "geoserver_stack-geoserver-1",
|
||||
"image": "oscarfonts/geoserver:2.25.2",
|
||||
"status": "Up 2 days (healthy)",
|
||||
"ports": "8080/tcp"
|
||||
}
|
||||
],
|
||||
"gitea": [
|
||||
{
|
||||
"name": "gitea",
|
||||
"image": "gitea/gitea:latest",
|
||||
"status": "Up 2 days",
|
||||
"ports": "22/tcp, 3000/tcp"
|
||||
}
|
||||
],
|
||||
"grafana-stack": [
|
||||
{
|
||||
"name": "grafana_stack-grafana-1",
|
||||
"image": "grafana/grafana:latest",
|
||||
"status": "Up 2 days",
|
||||
"ports": "3000/tcp"
|
||||
}
|
||||
],
|
||||
"honcho": [
|
||||
{
|
||||
"name": "honcho-api-1",
|
||||
"image": "honcho:latest",
|
||||
"status": "Restarting (1) 12 seconds ago",
|
||||
"ports": ""
|
||||
},
|
||||
{
|
||||
"name": "honcho-deriver-1",
|
||||
"image": "honcho-deriver",
|
||||
"status": "Up 2 days (healthy)",
|
||||
"ports": "8000/tcp"
|
||||
},
|
||||
{
|
||||
"name": "honcho-grafana-1",
|
||||
"image": "grafana/grafana:11.4.0",
|
||||
"status": "Up 2 days (healthy)",
|
||||
"ports": "127.0.0.1:3088->3000/tcp"
|
||||
},
|
||||
{
|
||||
"name": "honcho-prometheus-1",
|
||||
"image": "prom/prometheus:v3.2.1",
|
||||
"status": "Up 2 days (healthy)",
|
||||
"ports": "127.0.0.1:9091->9090/tcp"
|
||||
}
|
||||
],
|
||||
"localai": [
|
||||
{
|
||||
"name": "8a0cce6d1940_localai-api-1",
|
||||
"image": "localai/localai:latest",
|
||||
"status": "Exited (0) 2 days ago",
|
||||
"ports": ""
|
||||
},
|
||||
{
|
||||
"name": "localai-api",
|
||||
"image": "localai/localai:latest",
|
||||
"status": "Up 2 days (healthy)",
|
||||
"ports": "8080/tcp"
|
||||
}
|
||||
],
|
||||
"mainflux": [
|
||||
{
|
||||
"name": "mainfluxlabs-alarms-db",
|
||||
"image": "postgres:13.3-alpine",
|
||||
"status": "Up 2 days",
|
||||
"ports": "5432/tcp"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-alarms",
|
||||
"image": "mainfluxlabs/alarms:v0.36.1",
|
||||
"status": "Up 2 days",
|
||||
"ports": "0.0.0.0:9026->9026/tcp, [::]:9026->9026/tcp"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-auth-db",
|
||||
"image": "postgres:13.3-alpine",
|
||||
"status": "Up 2 days",
|
||||
"ports": "5432/tcp"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-auth-redis",
|
||||
"image": "redis:6.2.2-alpine",
|
||||
"status": "Up 2 days",
|
||||
"ports": "6379/tcp"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-auth",
|
||||
"image": "mainfluxlabs/auth:v0.36.1",
|
||||
"status": "Up 2 days",
|
||||
"ports": "0.0.0.0:8181->8181/tcp, [::]:8181->8181/tcp, 0.0.0.0:8189->8189/tcp, [::]:8189->8189/tcp"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-broker",
|
||||
"image": "nats:2.2.4-alpine",
|
||||
"status": "Up 2 days",
|
||||
"ports": "6222/tcp, 0.0.0.0:4222->4222/tcp, [::]:4222->4222/tcp, 8222/tcp"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-certs-db",
|
||||
"image": "postgres:13.3-alpine",
|
||||
"status": "Up 2 days",
|
||||
"ports": "5432/tcp"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-certs",
|
||||
"image": "mainfluxlabs/certs:v0.36.1",
|
||||
"status": "Up 2 days",
|
||||
"ports": "0.0.0.0:8204->8204/tcp, [::]:8204->8204/tcp"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-coap",
|
||||
"image": "mainfluxlabs/coap:v0.36.1",
|
||||
"status": "Up 2 days",
|
||||
"ports": "0.0.0.0:5683->5683/tcp, 0.0.0.0:5683->5683/udp, [::]:5683->5683/tcp, [::]:5683->5683/udp"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-converters",
|
||||
"image": "mainfluxlabs/converters:v0.36.1",
|
||||
"status": "Up 2 days",
|
||||
"ports": "0.0.0.0:8195->8195/tcp, [::]:8195->8195/tcp"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-downlinks-db",
|
||||
"image": "postgres:13.3-alpine",
|
||||
"status": "Up 2 days",
|
||||
"ports": "5432/tcp"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-downlinks",
|
||||
"image": "mainfluxlabs/downlinks:v0.36.1",
|
||||
"status": "Up 2 days",
|
||||
"ports": "0.0.0.0:9025->9025/tcp, [::]:9025->9025/tcp"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-es-redis",
|
||||
"image": "redis:6.2.2-alpine",
|
||||
"status": "Up 2 days",
|
||||
"ports": "6379/tcp"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-filestore-db",
|
||||
"image": "postgres:13.3-alpine",
|
||||
"status": "Up 2 days",
|
||||
"ports": "5432/tcp"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-filestore",
|
||||
"image": "mainfluxlabs/filestore:v0.36.1",
|
||||
"status": "Up 2 days",
|
||||
"ports": "0.0.0.0:9022->9022/tcp, [::]:9022->9022/tcp"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-http",
|
||||
"image": "mainfluxlabs/http:v0.36.1",
|
||||
"status": "Up 2 days",
|
||||
"ports": "0.0.0.0:8185->8185/tcp, [::]:8185->8185/tcp"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-jaeger",
|
||||
"image": "jaegertracing/all-in-one:1.53",
|
||||
"status": "Exited (255) 2 days ago",
|
||||
"ports": "5775/udp, 4317-4318/tcp, 9411/tcp, 0.0.0.0:5778->5778/tcp, [::]:5778->5778/tcp, 0.0.0.0:14268->14268/tcp, [::]:14268->14268/tcp, 14250/tcp, 6832/udp, 0.0.0.0:16686->16686/tcp, [::]:16686->16686/tcp, 0.0.0.0:6831->6831/udp, [::]:6831->6831/udp"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-modbus-db",
|
||||
"image": "postgres:13.3-alpine",
|
||||
"status": "Up 2 days",
|
||||
"ports": "5432/tcp"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-modbus",
|
||||
"image": "mainfluxlabs/modbus:v0.36.1",
|
||||
"status": "Up 2 days",
|
||||
"ports": "0.0.0.0:9028->9028/tcp, [::]:9028->9028/tcp"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-mosquitto",
|
||||
"image": "eclipse-mosquitto:2.0",
|
||||
"status": "Up 2 days",
|
||||
"ports": "1883/tcp"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-mqtt-db",
|
||||
"image": "postgres:13.3-alpine",
|
||||
"status": "Up 2 days",
|
||||
"ports": "5432/tcp"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-mqtt",
|
||||
"image": "mainfluxlabs/mqtt:v0.36.1",
|
||||
"status": "Up 2 days",
|
||||
"ports": ""
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-postgres-reader",
|
||||
"image": "mainfluxlabs/postgres-reader:v0.36.1",
|
||||
"status": "Up 2 days",
|
||||
"ports": "0.0.0.0:8905->8905/tcp, [::]:8905->8905/tcp"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-postgres-writer",
|
||||
"image": "mainfluxlabs/postgres-writer:v0.36.1",
|
||||
"status": "Up 2 days",
|
||||
"ports": "0.0.0.0:8900->8900/tcp, [::]:8900->8900/tcp"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-postgres",
|
||||
"image": "postgres:13.3-alpine",
|
||||
"status": "Up 2 days",
|
||||
"ports": "5432/tcp"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-rules-db",
|
||||
"image": "postgres:13.3-alpine",
|
||||
"status": "Up 2 days",
|
||||
"ports": "5432/tcp"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-rules",
|
||||
"image": "mainfluxlabs/rules:v0.36.1",
|
||||
"status": "Up 2 days",
|
||||
"ports": "0.0.0.0:9027->9027/tcp, [::]:9027->9027/tcp"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-smtp-notifier-db",
|
||||
"image": "postgres:13.3-alpine",
|
||||
"status": "Up 2 days",
|
||||
"ports": "5432/tcp"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-smtp-notifier",
|
||||
"image": "mainfluxlabs/smtp-notifier:v0.36.1",
|
||||
"status": "Up 2 days",
|
||||
"ports": "0.0.0.0:9023->9023/tcp, [::]:9023->9023/tcp"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-things-db",
|
||||
"image": "postgres:13.3-alpine",
|
||||
"status": "Up 2 days (healthy)",
|
||||
"ports": "5432/tcp"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-things",
|
||||
"image": "mainfluxlabs/things:v0.36.1",
|
||||
"status": "Up 2 days",
|
||||
"ports": "0.0.0.0:8182-8183->8182-8183/tcp, [::]:8182-8183->8182-8183/tcp, 0.0.0.0:8989->8989/tcp, [::]:8989->8989/tcp"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-uiconfigs-db",
|
||||
"image": "postgres:13.3-alpine",
|
||||
"status": "Up 2 days",
|
||||
"ports": "5432/tcp"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-uiconfigs",
|
||||
"image": "mainfluxlabs/uiconfigs:v0.36.1",
|
||||
"status": "Up 2 days",
|
||||
"ports": "0.0.0.0:9029->9029/tcp, [::]:9029->9029/tcp"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-ui",
|
||||
"image": "mainfluxlabs/ui:v0.36.1",
|
||||
"status": "Up 2 days",
|
||||
"ports": "80/tcp, 0.0.0.0:3000->3000/tcp, [::]:3000->3000/tcp"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-users-db",
|
||||
"image": "postgres:13.3-alpine",
|
||||
"status": "Up 2 days (healthy)",
|
||||
"ports": "5432/tcp"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-users",
|
||||
"image": "mainfluxlabs/users:v0.36.1",
|
||||
"status": "Up 2 days",
|
||||
"ports": "0.0.0.0:8180->8180/tcp, [::]:8180->8180/tcp, 0.0.0.0:8184->8184/tcp, [::]:8184->8184/tcp"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-webhooks-db",
|
||||
"image": "postgres:13.3-alpine",
|
||||
"status": "Up 2 days",
|
||||
"ports": "5432/tcp"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-webhooks",
|
||||
"image": "mainfluxlabs/webhooks:v0.36.1",
|
||||
"status": "Up 2 days",
|
||||
"ports": "0.0.0.0:9021->9021/tcp, [::]:9021->9021/tcp"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-ws",
|
||||
"image": "mainfluxlabs/ws:v0.36.1",
|
||||
"status": "Up 2 days",
|
||||
"ports": "0.0.0.0:8190->8190/tcp, [::]:8190->8190/tcp"
|
||||
}
|
||||
],
|
||||
"mapstore": [
|
||||
{
|
||||
"name": "mapstore-app",
|
||||
"image": "geosolutionsit/mapstore2:latest",
|
||||
"status": "Up 2 days",
|
||||
"ports": "8080/tcp"
|
||||
},
|
||||
{
|
||||
"name": "mapstore-postgres",
|
||||
"image": "geosolutions-mapstore/postgis",
|
||||
"status": "Up 2 days (healthy)",
|
||||
"ports": "5432/tcp"
|
||||
},
|
||||
{
|
||||
"name": "mapstore-proxy",
|
||||
"image": "nginx",
|
||||
"status": "Up 2 days",
|
||||
"ports": "80/tcp"
|
||||
}
|
||||
],
|
||||
"phpipam": [
|
||||
{
|
||||
"name": "phpipam-phpipam-cron-1",
|
||||
"image": "phpipam/phpipam-cron:latest",
|
||||
"status": "Up 2 days",
|
||||
"ports": "80/tcp"
|
||||
},
|
||||
{
|
||||
"name": "phpipam-phpipam-web-1",
|
||||
"image": "phpipam/phpipam-www:latest",
|
||||
"status": "Up 2 days",
|
||||
"ports": "127.0.0.1:8085->80/tcp"
|
||||
}
|
||||
],
|
||||
"postgis-smartcity": [
|
||||
{
|
||||
"name": "postgis-smartcity",
|
||||
"image": "postgis/postgis:15-3.4",
|
||||
"status": "Up 2 days (healthy)",
|
||||
"ports": "0.0.0.0:5433->5432/tcp, [::]:5433->5432/tcp"
|
||||
}
|
||||
],
|
||||
"smart-city-core": [
|
||||
{
|
||||
"name": "smart-city-digital-twin-martinique-chirpstack-1",
|
||||
"image": "chirpstack/chirpstack:latest",
|
||||
"status": "Up 2 days",
|
||||
"ports": ""
|
||||
},
|
||||
{
|
||||
"name": "smart-city-digital-twin-martinique-chirpstack-gateway-bridge-1",
|
||||
"image": "chirpstack/chirpstack-gateway-bridge:4",
|
||||
"status": "Up 2 days",
|
||||
"ports": "0.0.0.0:1700->1700/udp, [::]:1700->1700/udp"
|
||||
},
|
||||
{
|
||||
"name": "smart-city-digital-twin-martinique-chirpstack-gateway-bridge-basicstation-1",
|
||||
"image": "chirpstack/chirpstack-gateway-bridge:4",
|
||||
"status": "Up 2 days",
|
||||
"ports": ""
|
||||
},
|
||||
{
|
||||
"name": "smart-city-digital-twin-martinique-chirpstack-rest-api-1",
|
||||
"image": "chirpstack/chirpstack-rest-api:4",
|
||||
"status": "Up 2 days",
|
||||
"ports": ""
|
||||
},
|
||||
{
|
||||
"name": "smart-city-grafana",
|
||||
"image": "grafana/grafana:10.2.0",
|
||||
"status": "Up 2 days",
|
||||
"ports": "0.0.0.0:3001->3000/tcp, [::]:3001->3000/tcp"
|
||||
},
|
||||
{
|
||||
"name": "smart-city-influxdb",
|
||||
"image": "influxdb:2.7-alpine",
|
||||
"status": "Up 2 days (healthy)",
|
||||
"ports": "0.0.0.0:8086->8086/tcp, [::]:8086->8086/tcp"
|
||||
},
|
||||
{
|
||||
"name": "smart-city-kepler",
|
||||
"image": "smart-city-kepler:latest",
|
||||
"status": "Up 2 days",
|
||||
"ports": "80/tcp, 8080/tcp"
|
||||
},
|
||||
{
|
||||
"name": "smart-city-loki",
|
||||
"image": "grafana/loki:latest",
|
||||
"status": "Up 2 days",
|
||||
"ports": "0.0.0.0:3100->3100/tcp, [::]:3100->3100/tcp"
|
||||
},
|
||||
{
|
||||
"name": "smart-city-prometheus-brokers",
|
||||
"image": "prom/prometheus:latest",
|
||||
"status": "Exited (255) 2 days ago",
|
||||
"ports": ""
|
||||
},
|
||||
{
|
||||
"name": "smart-city-promtail",
|
||||
"image": "grafana/promtail:latest",
|
||||
"status": "Up 2 days",
|
||||
"ports": ""
|
||||
},
|
||||
{
|
||||
"name": "smart-city-pulsar-manager-db",
|
||||
"image": "postgres:15-alpine",
|
||||
"status": "Exited (0) 2 days ago",
|
||||
"ports": ""
|
||||
},
|
||||
{
|
||||
"name": "smart-city-pulsar-manager",
|
||||
"image": "apachepulsar/pulsar-manager:v0.2.0",
|
||||
"status": "Exited (137) 2 days ago",
|
||||
"ports": ""
|
||||
},
|
||||
{
|
||||
"name": "smart-city-pulsar",
|
||||
"image": "apachepulsar/pulsar:3.2.0",
|
||||
"status": "Exited (137) 2 days ago",
|
||||
"ports": ""
|
||||
},
|
||||
{
|
||||
"name": "smart-city-redpanda-console",
|
||||
"image": "docker.redpanda.com/redpandadata/console:v2.5.0",
|
||||
"status": "Restarting (1) 9 seconds ago",
|
||||
"ports": ""
|
||||
},
|
||||
{
|
||||
"name": "smart-city-redpanda",
|
||||
"image": "redpandadata/redpanda:v24.3.14",
|
||||
"status": "Exited (255) 2 days ago",
|
||||
"ports": "8081/tcp, 127.0.0.1:8082->8082/tcp, 0.0.0.0:19092->9092/tcp, [::]:19092->9092/tcp, 0.0.0.0:19644->9644/tcp, [::]:19644->9644/tcp"
|
||||
},
|
||||
{
|
||||
"name": "smart-city-simulator",
|
||||
"image": "smart-city-digital-twin-martinique-simulator",
|
||||
"status": "Up 55 seconds",
|
||||
"ports": "8081/tcp"
|
||||
},
|
||||
{
|
||||
"name": "smart-city-telegraf",
|
||||
"image": "telegraf:1.28",
|
||||
"status": "Restarting (1) 6 seconds ago",
|
||||
"ports": ""
|
||||
}
|
||||
],
|
||||
"smart-city-iot": [
|
||||
{
|
||||
"name": "smart-city-digital-twin-martinique-mosquitto-1",
|
||||
"image": "eclipse-mosquitto:2",
|
||||
"status": "Up 2 days",
|
||||
"ports": "1883/tcp"
|
||||
},
|
||||
{
|
||||
"name": "smart-city-digital-twin-martinique-redis-1",
|
||||
"image": "redis:7-alpine",
|
||||
"status": "Up 2 days",
|
||||
"ports": "6379/tcp"
|
||||
},
|
||||
{
|
||||
"name": "smart-city-ditto-gateway",
|
||||
"image": "eclipse/ditto-gateway:latest",
|
||||
"status": "Up 20 hours",
|
||||
"ports": "8080/tcp"
|
||||
},
|
||||
{
|
||||
"name": "smart-city-ditto-mongodb",
|
||||
"image": "mongo:6",
|
||||
"status": "Up 2 days",
|
||||
"ports": "27017/tcp"
|
||||
},
|
||||
{
|
||||
"name": "smart-city-ditto-policies",
|
||||
"image": "eclipse/ditto-policies:latest",
|
||||
"status": "Up 2 days",
|
||||
"ports": "8080/tcp"
|
||||
}
|
||||
],
|
||||
"stellio": [
|
||||
{
|
||||
"name": "stellio-api-gateway",
|
||||
"image": "stellio/stellio-api-gateway:latest-dev",
|
||||
"status": "Up 13 hours",
|
||||
"ports": "8080/tcp"
|
||||
},
|
||||
{
|
||||
"name": "stellio-kafka",
|
||||
"image": "confluentinc/cp-kafka:8.1.0",
|
||||
"status": "Exited (255) 2 days ago",
|
||||
"ports": "9092/tcp, 0.0.0.0:29092->29092/tcp, [::]:29092->29092/tcp"
|
||||
},
|
||||
{
|
||||
"name": "stellio-postgres",
|
||||
"image": "stellio/stellio-timescale-postgis:16-2.24.0-3.6",
|
||||
"status": "Exited (255) 2 days ago",
|
||||
"ports": "5432/tcp"
|
||||
},
|
||||
{
|
||||
"name": "stellio-search-service",
|
||||
"image": "stellio/stellio-search-service:latest-dev",
|
||||
"status": "Exited (255) 2 days ago",
|
||||
"ports": "8083/tcp"
|
||||
},
|
||||
{
|
||||
"name": "stellio-subscription-service",
|
||||
"image": "stellio/stellio-subscription-service:latest-dev",
|
||||
"status": "Exited (255) 2 days ago",
|
||||
"ports": "8084/tcp"
|
||||
}
|
||||
],
|
||||
"thingsboard": [
|
||||
{
|
||||
"name": "docker_tb-js-executor_10",
|
||||
"image": "thingsboard/tb-js-executor:latest",
|
||||
"status": "Restarting (0) 15 seconds ago",
|
||||
"ports": ""
|
||||
},
|
||||
{
|
||||
"name": "docker_tb-js-executor_1",
|
||||
"image": "thingsboard/tb-js-executor:latest",
|
||||
"status": "Up 24 seconds",
|
||||
"ports": ""
|
||||
},
|
||||
{
|
||||
"name": "docker_tb-js-executor_2",
|
||||
"image": "thingsboard/tb-js-executor:latest",
|
||||
"status": "Restarting (0) 23 seconds ago",
|
||||
"ports": ""
|
||||
},
|
||||
{
|
||||
"name": "docker_tb-js-executor_3",
|
||||
"image": "thingsboard/tb-js-executor:latest",
|
||||
"status": "Restarting (0) 23 seconds ago",
|
||||
"ports": ""
|
||||
},
|
||||
{
|
||||
"name": "docker_tb-js-executor_4",
|
||||
"image": "thingsboard/tb-js-executor:latest",
|
||||
"status": "Restarting (137) 15 seconds ago",
|
||||
"ports": ""
|
||||
},
|
||||
{
|
||||
"name": "docker_tb-js-executor_5",
|
||||
"image": "thingsboard/tb-js-executor:latest",
|
||||
"status": "Up 26 seconds",
|
||||
"ports": ""
|
||||
},
|
||||
{
|
||||
"name": "docker_tb-js-executor_6",
|
||||
"image": "thingsboard/tb-js-executor:latest",
|
||||
"status": "Restarting (0) Less than a second ago",
|
||||
"ports": ""
|
||||
},
|
||||
{
|
||||
"name": "docker_tb-js-executor_7",
|
||||
"image": "thingsboard/tb-js-executor:latest",
|
||||
"status": "Up 29 seconds",
|
||||
"ports": ""
|
||||
},
|
||||
{
|
||||
"name": "docker_tb-js-executor_8",
|
||||
"image": "thingsboard/tb-js-executor:latest",
|
||||
"status": "Restarting (0) 22 seconds ago",
|
||||
"ports": ""
|
||||
},
|
||||
{
|
||||
"name": "docker_tb-js-executor_9",
|
||||
"image": "thingsboard/tb-js-executor:latest",
|
||||
"status": "Restarting (137) 13 seconds ago",
|
||||
"ports": ""
|
||||
},
|
||||
{
|
||||
"name": "docker_tb-rule-engine1_1",
|
||||
"image": "thingsboard/tb-node:latest",
|
||||
"status": "Created",
|
||||
"ports": ""
|
||||
},
|
||||
{
|
||||
"name": "docker_tb-rule-engine2_1",
|
||||
"image": "thingsboard/tb-node:latest",
|
||||
"status": "Created",
|
||||
"ports": ""
|
||||
},
|
||||
{
|
||||
"name": "docker_tb-web-ui1_1",
|
||||
"image": "thingsboard/tb-web-ui:latest",
|
||||
"status": "Up 2 days",
|
||||
"ports": "0.0.0.0:32769->8080/tcp, [::]:32769->8080/tcp"
|
||||
},
|
||||
{
|
||||
"name": "docker_tb-web-ui2_1",
|
||||
"image": "thingsboard/tb-web-ui:latest",
|
||||
"status": "Up 2 days",
|
||||
"ports": "0.0.0.0:32770->8080/tcp, [::]:32770->8080/tcp"
|
||||
}
|
||||
],
|
||||
"thingsboard-postgres": [
|
||||
{
|
||||
"name": "thingsboard-postgres",
|
||||
"image": "postgres:15-alpine",
|
||||
"status": "Up 2 days (healthy)",
|
||||
"ports": "5432/tcp"
|
||||
}
|
||||
],
|
||||
"thingsboard-rabbitmq": [
|
||||
{
|
||||
"name": "thingsboard-rabbitmq",
|
||||
"image": "rabbitmq:3.12-management",
|
||||
"status": "Up 2 days (healthy)",
|
||||
"ports": "4369/tcp, 5671-5672/tcp, 15671-15672/tcp, 15691-15692/tcp, 25672/tcp"
|
||||
}
|
||||
],
|
||||
"traefik": [
|
||||
{
|
||||
"name": "traefik",
|
||||
"image": "traefik:v3.1",
|
||||
"status": "Up 33 hours",
|
||||
"ports": "0.0.0.0:80->80/tcp, [::]:80->80/tcp, 0.0.0.0:443->443/tcp, [::]:443->443/tcp, 0.0.0.0:8404->8404/tcp, [::]:8404->8404/tcp"
|
||||
}
|
||||
],
|
||||
"yaade": [
|
||||
{
|
||||
"name": "esperotech",
|
||||
"image": "esperotech/yaade:latest",
|
||||
"status": "Up 2 days",
|
||||
"ports": "0.0.0.0:9339->9339/tcp, [::]:9339->9339/tcp"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
49
snapshots/2026-05-25/ARCHITECTURE.md
Normal file
49
snapshots/2026-05-25/ARCHITECTURE.md
Normal file
@@ -0,0 +1,49 @@
|
||||
# Smart City Digital Twin — Architecture État Actuel (snapshot)
|
||||
|
||||
> **Date**: 2026-05-25 ~18:45 UTC
|
||||
> **Total containers**: 117
|
||||
|
||||
## 📡 Pipeline Données (IOT → Stockage → Visualisation)
|
||||
|
||||
```
|
||||
┌──────────────┐ MQTT topics: ┌──────────┐ ┌───────────┐ ┌────────────┐
|
||||
│ Simulator │──── smartcity/●/● ──▶│ EMQX │────▶│ Telegraf ────▶│ InfluxDB │
|
||||
│ (60 sensors)│ " │ (v5.0) │ │ (mqtt_ │ │ (v2.7) │
|
||||
│ │──── smartcity/●/● ──▶│ │ │ consumer)│ │ │
|
||||
│ ENABLE_BUNKER│ " │ │ │ influxdb │────▶│ bucket: │
|
||||
│ =0 (off) │ │ │ │ _v2) │ │ "smartcity"│
|
||||
└──────────────┘ └──────────┘ └───────────┘ └─────┬──────┘
|
||||
│
|
||||
Mosquitto (chirpstack) ◀── allow_anonymous=true ── config mosquitto.conf │
|
||||
(no data visible in logs yet) │
|
||||
▼
|
||||
┌────────────┐
|
||||
│ Grafana │
|
||||
│ Dashboard │
|
||||
│ Smart City │
|
||||
└────────────┘
|
||||
```
|
||||
|
||||
## 🏗️ Stacks actives (principales)
|
||||
|
||||
| Stack | Containers | État | Réseau |
|
||||
|-------|-----------|------|--------|
|
||||
| **OpenRemote** | postgresql (timescaledb-ha), keycloak, manager | PG: starting, KC: healthy, Manager: starting | smartcity-shared + openremote_default |
|
||||
| **Smart City Core** | simulator, telegraf, grafana, influxdb, prometheus | UP | smartcity-shared |
|
||||
| **FIWARE GIS** | orion-ld, orionproxy | healthy | smartcity-shared |
|
||||
| **ChirpStack** | chirpstack, mosquitto, postgres, redis | UP | dédié + smartcity-shared |
|
||||
| **Ditto** | gateway, policies, mongodb | UP/restarting | dédié |
|
||||
| **Contexus** | app (unhealthy), postgres (healthy), redis (healthy) | mixed | smartcity-shared |
|
||||
| **Mainflux** | 15+ microservices, mqtt, jaeger (exited) | mixed | dédié |
|
||||
| **Stellio** | api-gateway (UP), search+subscription+kafka+postgres (exited) | broken | dédié |
|
||||
| **Traefik** | traefik:v3.1 | UP | traefik-public |
|
||||
|
||||
## ⚠️ Points connus
|
||||
|
||||
- **OpenRemote** : crash loop corrigé (image PG changée), à redémarrer
|
||||
- **Telegraf** : fixé (noms containers + BunkerM désactivé)
|
||||
- **Stellio** : cassé (kafka + postgres exited) — NGSI-LD lowest priority
|
||||
- **Contexus** : app unhealthy
|
||||
- **Pulsar/Redpanda** : arrêtés (stabilité CPU)
|
||||
- **BunkerM** : unhealthy, port 1900 (port MQTT originel)
|
||||
- **Simulator** : MQTT OK 1/2 — un seul broker sur deux (Mosquitto?)
|
||||
825
snapshots/2026-05-25/full-snapshot.json
Normal file
825
snapshots/2026-05-25/full-snapshot.json
Normal file
@@ -0,0 +1,825 @@
|
||||
{
|
||||
"timestamp": "2026-05-25T18:09:53.673741+00:00",
|
||||
"total": 117,
|
||||
"containers": [
|
||||
{
|
||||
"name": "openremote-postgresql",
|
||||
"image": "timescale/timescaledb-ha:pg15",
|
||||
"status": "Created",
|
||||
"ports": "",
|
||||
"networks": "smartcity-shared"
|
||||
},
|
||||
{
|
||||
"name": "openremote-manager",
|
||||
"image": "openremote/manager:latest",
|
||||
"status": "Up 3 minutes (health: starting)",
|
||||
"ports": "1883/tcp, 8080/tcp, 8443/tcp",
|
||||
"networks": "smartcity-shared"
|
||||
},
|
||||
{
|
||||
"name": "openremote-keycloak",
|
||||
"image": "quay.io/keycloak/keycloak:24.0",
|
||||
"status": "Up 27 hours (healthy)",
|
||||
"ports": "8080/tcp, 8443/tcp",
|
||||
"networks": "smartcity-shared"
|
||||
},
|
||||
{
|
||||
"name": "smart-city-simulator",
|
||||
"image": "smart-city-simulator",
|
||||
"status": "Up 2 days",
|
||||
"ports": "8081/tcp",
|
||||
"networks": "traefik-public,openremote_default,smartcity-shared"
|
||||
},
|
||||
{
|
||||
"name": "traefik",
|
||||
"image": "traefik:v3.1",
|
||||
"status": "Up 3 days",
|
||||
"ports": "0.0.0.0:80->80/tcp, [::]:80->80/tcp, 0.0.0.0:443->443/tcp, [::]:443->443/tcp, 0.0.0.0:8404->8404/tcp, [::]:8404->8404/tcp",
|
||||
"networks": "smartcity-shared"
|
||||
},
|
||||
{
|
||||
"name": "smart-city-loki",
|
||||
"image": "grafana/loki:latest",
|
||||
"status": "Up 4 days",
|
||||
"ports": "0.0.0.0:3100->3100/tcp, [::]:3100->3100/tcp",
|
||||
"networks": "traefik-public,smartcity-shared"
|
||||
},
|
||||
{
|
||||
"name": "smart-city-promtail",
|
||||
"image": "grafana/promtail:latest",
|
||||
"status": "Up 4 days",
|
||||
"ports": "",
|
||||
"networks": "smartcity-shared,traefik-public"
|
||||
},
|
||||
{
|
||||
"name": "localai-api",
|
||||
"image": "localai/localai:latest",
|
||||
"status": "Up 5 days (healthy)",
|
||||
"ports": "8080/tcp",
|
||||
"networks": "traefik-public"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-mqtt",
|
||||
"image": "mainfluxlabs/mqtt:v0.36.1",
|
||||
"status": "Up 5 days",
|
||||
"ports": "",
|
||||
"networks": "mainflux-network,smartcity-shared"
|
||||
},
|
||||
{
|
||||
"name": "docker_tb-js-executor_10",
|
||||
"image": "thingsboard/tb-js-executor:latest",
|
||||
"status": "Up 36 seconds",
|
||||
"ports": "",
|
||||
"networks": "docker_default"
|
||||
},
|
||||
{
|
||||
"name": "docker_tb-js-executor_8",
|
||||
"image": "thingsboard/tb-js-executor:latest",
|
||||
"status": "Up 30 seconds",
|
||||
"ports": "",
|
||||
"networks": "docker_default"
|
||||
},
|
||||
{
|
||||
"name": "docker_tb-js-executor_9",
|
||||
"image": "thingsboard/tb-js-executor:latest",
|
||||
"status": "Restarting (0) 9 seconds ago",
|
||||
"ports": "",
|
||||
"networks": "docker_default"
|
||||
},
|
||||
{
|
||||
"name": "docker_tb-web-ui1_1",
|
||||
"image": "thingsboard/tb-web-ui:latest",
|
||||
"status": "Up 5 days",
|
||||
"ports": "0.0.0.0:32769->8080/tcp, [::]:32769->8080/tcp",
|
||||
"networks": "docker_default"
|
||||
},
|
||||
{
|
||||
"name": "docker_tb-js-executor_6",
|
||||
"image": "thingsboard/tb-js-executor:latest",
|
||||
"status": "Up 19 seconds",
|
||||
"ports": "",
|
||||
"networks": "docker_default"
|
||||
},
|
||||
{
|
||||
"name": "docker_zookeeper_1",
|
||||
"image": "zookeeper:3.8.1",
|
||||
"status": "Up 5 days",
|
||||
"ports": "2888/tcp, 3888/tcp, 0.0.0.0:2181->2181/tcp, [::]:2181->2181/tcp, 8080/tcp, 0.0.0.0:32768->2181/tcp, [::]:32768->2181/tcp",
|
||||
"networks": "docker_default"
|
||||
},
|
||||
{
|
||||
"name": "docker_tb-js-executor_7",
|
||||
"image": "thingsboard/tb-js-executor:latest",
|
||||
"status": "Up 10 seconds",
|
||||
"ports": "",
|
||||
"networks": "docker_default"
|
||||
},
|
||||
{
|
||||
"name": "docker_tb-js-executor_4",
|
||||
"image": "thingsboard/tb-js-executor:latest",
|
||||
"status": "Restarting (0) 1 second ago",
|
||||
"ports": "",
|
||||
"networks": "docker_default"
|
||||
},
|
||||
{
|
||||
"name": "docker_tb-js-executor_5",
|
||||
"image": "thingsboard/tb-js-executor:latest",
|
||||
"status": "Restarting (0) 11 seconds ago",
|
||||
"ports": "",
|
||||
"networks": "docker_default"
|
||||
},
|
||||
{
|
||||
"name": "docker_tb-js-executor_2",
|
||||
"image": "thingsboard/tb-js-executor:latest",
|
||||
"status": "Up 15 seconds",
|
||||
"ports": "",
|
||||
"networks": "docker_default"
|
||||
},
|
||||
{
|
||||
"name": "docker_tb-js-executor_1",
|
||||
"image": "thingsboard/tb-js-executor:latest",
|
||||
"status": "Up 22 seconds",
|
||||
"ports": "",
|
||||
"networks": "docker_default"
|
||||
},
|
||||
{
|
||||
"name": "docker_tb-js-executor_3",
|
||||
"image": "thingsboard/tb-js-executor:latest",
|
||||
"status": "Restarting (0) 6 seconds ago",
|
||||
"ports": "",
|
||||
"networks": "docker_default"
|
||||
},
|
||||
{
|
||||
"name": "docker_tb-web-ui2_1",
|
||||
"image": "thingsboard/tb-web-ui:latest",
|
||||
"status": "Up 5 days",
|
||||
"ports": "0.0.0.0:32770->8080/tcp, [::]:32770->8080/tcp",
|
||||
"networks": "docker_default"
|
||||
},
|
||||
{
|
||||
"name": "contexus-app",
|
||||
"image": "contexusio/contexus:latest",
|
||||
"status": "Up 3 days (unhealthy)",
|
||||
"ports": "15000/tcp",
|
||||
"networks": "contexus-iot-network,smartcity-shared,traefik-public"
|
||||
},
|
||||
{
|
||||
"name": "contexus-postgres",
|
||||
"image": "postgres:16",
|
||||
"status": "Up 5 days (healthy)",
|
||||
"ports": "5432/tcp",
|
||||
"networks": "contexus-iot-network"
|
||||
},
|
||||
{
|
||||
"name": "contexus-redis",
|
||||
"image": "redis:7-alpine",
|
||||
"status": "Up 5 days (healthy)",
|
||||
"ports": "6379/tcp",
|
||||
"networks": "contexus-iot-network"
|
||||
},
|
||||
{
|
||||
"name": "smart-city-kepler",
|
||||
"image": "smart-city-kepler:latest",
|
||||
"status": "Up 5 days",
|
||||
"ports": "80/tcp, 8080/tcp",
|
||||
"networks": "smartcity-shared,traefik-public"
|
||||
},
|
||||
{
|
||||
"name": "postgis-smartcity",
|
||||
"image": "postgis/postgis:15-3.4",
|
||||
"status": "Up 5 days (healthy)",
|
||||
"ports": "0.0.0.0:5433->5432/tcp, [::]:5433->5432/tcp",
|
||||
"networks": "smartcity-shared"
|
||||
},
|
||||
{
|
||||
"name": "smart-city-ditto-policies",
|
||||
"image": "eclipse/ditto-policies:latest",
|
||||
"status": "Up 5 days",
|
||||
"ports": "8080/tcp",
|
||||
"networks": "traefik-public"
|
||||
},
|
||||
{
|
||||
"name": "smart-city-ditto-gateway",
|
||||
"image": "eclipse/ditto-gateway:latest",
|
||||
"status": "Up 3 days",
|
||||
"ports": "8080/tcp",
|
||||
"networks": "traefik-public"
|
||||
},
|
||||
{
|
||||
"name": "smart-city-ditto-mongodb",
|
||||
"image": "mongo:6",
|
||||
"status": "Up 5 days",
|
||||
"ports": "27017/tcp",
|
||||
"networks": "traefik-public"
|
||||
},
|
||||
{
|
||||
"name": "smart-city-digital-twin-martinique-chirpstack-rest-api-1",
|
||||
"image": "chirpstack/chirpstack-rest-api:4",
|
||||
"status": "Up 5 days",
|
||||
"ports": "",
|
||||
"networks": "smartcity-shared"
|
||||
},
|
||||
{
|
||||
"name": "smart-city-digital-twin-martinique-chirpstack-1",
|
||||
"image": "chirpstack/chirpstack:latest",
|
||||
"status": "Up 5 days",
|
||||
"ports": "",
|
||||
"networks": "smartcity-shared"
|
||||
},
|
||||
{
|
||||
"name": "agentgateway",
|
||||
"image": "cr.agentgateway.dev/agentgateway:latest",
|
||||
"status": "Up 5 days",
|
||||
"ports": "3000/tcp, 15000/tcp",
|
||||
"networks": "traefik-public"
|
||||
},
|
||||
{
|
||||
"name": "smart-city-digital-twin-martinique-chirpstack-gateway-bridge-basicstation-1",
|
||||
"image": "chirpstack/chirpstack-gateway-bridge:4",
|
||||
"status": "Up 5 days",
|
||||
"ports": "",
|
||||
"networks": "traefik-public,smartcity-shared"
|
||||
},
|
||||
{
|
||||
"name": "smart-city-digital-twin-martinique-chirpstack-gateway-bridge-1",
|
||||
"image": "chirpstack/chirpstack-gateway-bridge:4",
|
||||
"status": "Up 5 days",
|
||||
"ports": "0.0.0.0:1700->1700/udp, [::]:1700->1700/udp",
|
||||
"networks": "smartcity-shared"
|
||||
},
|
||||
{
|
||||
"name": "smart-city-digital-twin-martinique-mosquitto-1",
|
||||
"image": "eclipse-mosquitto:2",
|
||||
"status": "Up 5 days",
|
||||
"ports": "1883/tcp",
|
||||
"networks": "smartcity-shared"
|
||||
},
|
||||
{
|
||||
"name": "smart-city-digital-twin-martinique-redis-1",
|
||||
"image": "redis:7-alpine",
|
||||
"status": "Up 5 days",
|
||||
"ports": "6379/tcp",
|
||||
"networks": "smartcity-shared"
|
||||
},
|
||||
{
|
||||
"name": "bunkerm-bunkerm-1",
|
||||
"image": "bunkeriot/bunkerm:latest",
|
||||
"status": "Up 5 days (unhealthy)",
|
||||
"ports": "0.0.0.0:1900->1900/tcp, [::]:1900->1900/tcp, 0.0.0.0:2000->2000/tcp, [::]:2000->2000/tcp",
|
||||
"networks": "smartcity-shared,traefik-public"
|
||||
},
|
||||
{
|
||||
"name": "chirpstack-redis-1",
|
||||
"image": "redis:7-alpine",
|
||||
"status": "Up 5 days",
|
||||
"ports": "6379/tcp",
|
||||
"networks": "smartcity-shared"
|
||||
},
|
||||
{
|
||||
"name": "chirpstack-mosquitto-1",
|
||||
"image": "eclipse-mosquitto:2",
|
||||
"status": "Up 5 days",
|
||||
"ports": "1883/tcp",
|
||||
"networks": "smartcity-shared"
|
||||
},
|
||||
{
|
||||
"name": "chirpstack-postgres-1",
|
||||
"image": "postgres:14-alpine",
|
||||
"status": "Up 5 days",
|
||||
"ports": "5432/tcp",
|
||||
"networks": "smartcity-shared"
|
||||
},
|
||||
{
|
||||
"name": "smart-city-prometheus-brokers",
|
||||
"image": "prom/prometheus:latest",
|
||||
"status": "Up 14 hours",
|
||||
"ports": "",
|
||||
"networks": ""
|
||||
},
|
||||
{
|
||||
"name": "fiware-gis-quickstart-orionproxy-1",
|
||||
"image": "fiware-gis-quickstart-orionproxy",
|
||||
"status": "Up 5 days",
|
||||
"ports": "127.0.0.1:1026->80/tcp",
|
||||
"networks": "fiware-gis-quickstart_fiware"
|
||||
},
|
||||
{
|
||||
"name": "fiware-gis-quickstart-orion-1",
|
||||
"image": "quay.io/fiware/orion-ld",
|
||||
"status": "Up 5 days (healthy)",
|
||||
"ports": "127.0.0.1:2026->1026/tcp",
|
||||
"networks": "fiware-gis-quickstart_fiware,traefik-public"
|
||||
},
|
||||
{
|
||||
"name": "fiware-gis-quickstart-mongo-db-1",
|
||||
"image": "mongo:4.2",
|
||||
"status": "Up 5 days",
|
||||
"ports": "127.0.0.1:27017->27017/tcp",
|
||||
"networks": "fiware-gis-quickstart_fiware"
|
||||
},
|
||||
{
|
||||
"name": "smart-city-influxdb",
|
||||
"image": "influxdb:2.7-alpine",
|
||||
"status": "Up 5 days (healthy)",
|
||||
"ports": "0.0.0.0:8086->8086/tcp, [::]:8086->8086/tcp",
|
||||
"networks": "smartcity-shared,traefik-public"
|
||||
},
|
||||
{
|
||||
"name": "smart-city-telegraf",
|
||||
"image": "telegraf:1.28",
|
||||
"status": "Up 2 hours",
|
||||
"ports": "8092/udp, 8125/udp, 8094/tcp",
|
||||
"networks": "smartcity-shared"
|
||||
},
|
||||
{
|
||||
"name": "smart-city-grafana",
|
||||
"image": "grafana/grafana:10.2.0",
|
||||
"status": "Up 5 days",
|
||||
"ports": "0.0.0.0:3001->3000/tcp, [::]:3001->3000/tcp",
|
||||
"networks": "smartcity-shared,traefik-public"
|
||||
},
|
||||
{
|
||||
"name": "docker-exporter",
|
||||
"image": "docker-exporter:latest",
|
||||
"status": "Up 5 days",
|
||||
"ports": "0.0.0.0:8005->8005/tcp, [::]:8005->8005/tcp",
|
||||
"networks": "bridge"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-http",
|
||||
"image": "mainfluxlabs/http:v0.36.1",
|
||||
"status": "Up 5 days",
|
||||
"ports": "0.0.0.0:8185->8185/tcp, [::]:8185->8185/tcp",
|
||||
"networks": "mainflux-network,smartcity-shared"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-rules",
|
||||
"image": "mainfluxlabs/rules:v0.36.1",
|
||||
"status": "Up 5 days",
|
||||
"ports": "0.0.0.0:9027->9027/tcp, [::]:9027->9027/tcp",
|
||||
"networks": "mainflux-network"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-converters",
|
||||
"image": "mainfluxlabs/converters:v0.36.1",
|
||||
"status": "Up 5 days",
|
||||
"ports": "0.0.0.0:8195->8195/tcp, [::]:8195->8195/tcp",
|
||||
"networks": "mainflux-network"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-smtp-notifier",
|
||||
"image": "mainfluxlabs/smtp-notifier:v0.36.1",
|
||||
"status": "Up 5 days",
|
||||
"ports": "0.0.0.0:9023->9023/tcp, [::]:9023->9023/tcp",
|
||||
"networks": "mainflux-network"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-modbus",
|
||||
"image": "mainfluxlabs/modbus:v0.36.1",
|
||||
"status": "Up 5 days",
|
||||
"ports": "0.0.0.0:9028->9028/tcp, [::]:9028->9028/tcp",
|
||||
"networks": "mainflux-network"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-ws",
|
||||
"image": "mainfluxlabs/ws:v0.36.1",
|
||||
"status": "Up 5 days",
|
||||
"ports": "0.0.0.0:8190->8190/tcp, [::]:8190->8190/tcp",
|
||||
"networks": "mainflux-network"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-webhooks",
|
||||
"image": "mainfluxlabs/webhooks:v0.36.1",
|
||||
"status": "Up 5 days",
|
||||
"ports": "0.0.0.0:9021->9021/tcp, [::]:9021->9021/tcp",
|
||||
"networks": "mainflux-network"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-downlinks",
|
||||
"image": "mainfluxlabs/downlinks:v0.36.1",
|
||||
"status": "Up 5 days",
|
||||
"ports": "0.0.0.0:9025->9025/tcp, [::]:9025->9025/tcp",
|
||||
"networks": "mainflux-network"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-alarms",
|
||||
"image": "mainfluxlabs/alarms:v0.36.1",
|
||||
"status": "Up 5 days",
|
||||
"ports": "0.0.0.0:9026->9026/tcp, [::]:9026->9026/tcp",
|
||||
"networks": "mainflux-network"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-filestore",
|
||||
"image": "mainfluxlabs/filestore:v0.36.1",
|
||||
"status": "Up 5 days",
|
||||
"ports": "0.0.0.0:9022->9022/tcp, [::]:9022->9022/tcp",
|
||||
"networks": "mainflux-network"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-coap",
|
||||
"image": "mainfluxlabs/coap:v0.36.1",
|
||||
"status": "Up 5 days",
|
||||
"ports": "0.0.0.0:5683->5683/tcp, 0.0.0.0:5683->5683/udp, [::]:5683->5683/tcp, [::]:5683->5683/udp",
|
||||
"networks": "mainflux-network"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-things",
|
||||
"image": "mainfluxlabs/things:v0.36.1",
|
||||
"status": "Up 5 days",
|
||||
"ports": "0.0.0.0:8182-8183->8182-8183/tcp, [::]:8182-8183->8182-8183/tcp, 0.0.0.0:8989->8989/tcp, [::]:8989->8989/tcp",
|
||||
"networks": "mainflux-network,smartcity-shared"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-users",
|
||||
"image": "mainfluxlabs/users:v0.36.1",
|
||||
"status": "Up 5 days",
|
||||
"ports": "0.0.0.0:8180->8180/tcp, [::]:8180->8180/tcp, 0.0.0.0:8184->8184/tcp, [::]:8184->8184/tcp",
|
||||
"networks": "mainflux-network,smartcity-shared"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-auth",
|
||||
"image": "mainfluxlabs/auth:v0.36.1",
|
||||
"status": "Up 5 days",
|
||||
"ports": "0.0.0.0:8181->8181/tcp, [::]:8181->8181/tcp, 0.0.0.0:8189->8189/tcp, [::]:8189->8189/tcp",
|
||||
"networks": "mainflux-network,smartcity-shared"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-certs",
|
||||
"image": "mainfluxlabs/certs:v0.36.1",
|
||||
"status": "Up 5 days",
|
||||
"ports": "0.0.0.0:8204->8204/tcp, [::]:8204->8204/tcp",
|
||||
"networks": "mainflux-network"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-postgres-writer",
|
||||
"image": "mainfluxlabs/postgres-writer:v0.36.1",
|
||||
"status": "Up 5 days",
|
||||
"ports": "0.0.0.0:8900->8900/tcp, [::]:8900->8900/tcp",
|
||||
"networks": "mainflux-network"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-uiconfigs",
|
||||
"image": "mainfluxlabs/uiconfigs:v0.36.1",
|
||||
"status": "Up 5 days",
|
||||
"ports": "0.0.0.0:9029->9029/tcp, [::]:9029->9029/tcp",
|
||||
"networks": "mainflux-network"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-mqtt-db",
|
||||
"image": "postgres:13.3-alpine",
|
||||
"status": "Up 5 days",
|
||||
"ports": "5432/tcp",
|
||||
"networks": "mainflux-network"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-es-redis",
|
||||
"image": "redis:6.2.2-alpine",
|
||||
"status": "Up 5 days",
|
||||
"ports": "6379/tcp",
|
||||
"networks": "mainflux-network"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-downlinks-db",
|
||||
"image": "postgres:13.3-alpine",
|
||||
"status": "Up 5 days",
|
||||
"ports": "5432/tcp",
|
||||
"networks": "mainflux-network"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-things-db",
|
||||
"image": "postgres:13.3-alpine",
|
||||
"status": "Up 5 days (healthy)",
|
||||
"ports": "5432/tcp",
|
||||
"networks": "mainflux-network"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-rules-db",
|
||||
"image": "postgres:13.3-alpine",
|
||||
"status": "Up 5 days",
|
||||
"ports": "5432/tcp",
|
||||
"networks": "mainflux-network"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-filestore-db",
|
||||
"image": "postgres:13.3-alpine",
|
||||
"status": "Up 5 days",
|
||||
"ports": "5432/tcp",
|
||||
"networks": "mainflux-network"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-users-db",
|
||||
"image": "postgres:13.3-alpine",
|
||||
"status": "Up 5 days (healthy)",
|
||||
"ports": "5432/tcp",
|
||||
"networks": "mainflux-network"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-jaeger",
|
||||
"image": "jaegertracing/all-in-one:1.53",
|
||||
"status": "Exited (255) 5 days ago",
|
||||
"ports": "5775/udp, 4317-4318/tcp, 9411/tcp, 0.0.0.0:5778->5778/tcp, [::]:5778->5778/tcp, 0.0.0.0:14268->14268/tcp, [::]:14268->14268/tcp, 14250/tcp, 6832/udp, 0.0.0.0:16686->16686/tcp, [::]:16686->16686/tcp, 0.0.0.0:6831->6831/udp, [::]:6831->6831/udp",
|
||||
"networks": "mainflux-network"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-mosquitto",
|
||||
"image": "eclipse-mosquitto:2.0",
|
||||
"status": "Up 5 days",
|
||||
"ports": "1883/tcp",
|
||||
"networks": "mainflux-network,smartcity-shared"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-alarms-db",
|
||||
"image": "postgres:13.3-alpine",
|
||||
"status": "Up 5 days",
|
||||
"ports": "5432/tcp",
|
||||
"networks": "mainflux-network"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-auth-redis",
|
||||
"image": "redis:6.2.2-alpine",
|
||||
"status": "Up 5 days",
|
||||
"ports": "6379/tcp",
|
||||
"networks": "mainflux-network"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-modbus-db",
|
||||
"image": "postgres:13.3-alpine",
|
||||
"status": "Up 5 days",
|
||||
"ports": "5432/tcp",
|
||||
"networks": "mainflux-network"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-broker",
|
||||
"image": "nats:2.2.4-alpine",
|
||||
"status": "Up 5 days",
|
||||
"ports": "6222/tcp, 0.0.0.0:4222->4222/tcp, [::]:4222->4222/tcp, 8222/tcp",
|
||||
"networks": "mainflux-network,smartcity-shared"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-webhooks-db",
|
||||
"image": "postgres:13.3-alpine",
|
||||
"status": "Up 5 days",
|
||||
"ports": "5432/tcp",
|
||||
"networks": "mainflux-network"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-postgres",
|
||||
"image": "postgres:13.3-alpine",
|
||||
"status": "Up 5 days",
|
||||
"ports": "5432/tcp",
|
||||
"networks": "mainflux-network"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-smtp-notifier-db",
|
||||
"image": "postgres:13.3-alpine",
|
||||
"status": "Up 5 days",
|
||||
"ports": "5432/tcp",
|
||||
"networks": "mainflux-network"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-certs-db",
|
||||
"image": "postgres:13.3-alpine",
|
||||
"status": "Up 5 days",
|
||||
"ports": "5432/tcp",
|
||||
"networks": "mainflux-network"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-postgres-reader",
|
||||
"image": "mainfluxlabs/postgres-reader:v0.36.1",
|
||||
"status": "Up 5 days",
|
||||
"ports": "0.0.0.0:8905->8905/tcp, [::]:8905->8905/tcp",
|
||||
"networks": "mainflux-network"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-auth-db",
|
||||
"image": "postgres:13.3-alpine",
|
||||
"status": "Up 5 days",
|
||||
"ports": "5432/tcp",
|
||||
"networks": "mainflux-network"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-uiconfigs-db",
|
||||
"image": "postgres:13.3-alpine",
|
||||
"status": "Up 5 days",
|
||||
"ports": "5432/tcp",
|
||||
"networks": "mainflux-network"
|
||||
},
|
||||
{
|
||||
"name": "mainfluxlabs-ui",
|
||||
"image": "mainfluxlabs/ui:v0.36.1",
|
||||
"status": "Up 5 days",
|
||||
"ports": "80/tcp, 0.0.0.0:3000->3000/tcp, [::]:3000->3000/tcp",
|
||||
"networks": "mainflux-network,smartcity-shared"
|
||||
},
|
||||
{
|
||||
"name": "smart-city-pulsar-manager",
|
||||
"image": "apachepulsar/pulsar-manager:v0.2.0",
|
||||
"status": "Exited (137) 5 days ago",
|
||||
"ports": "",
|
||||
"networks": "smartcity-shared,traefik-public,pulsar-manager-net"
|
||||
},
|
||||
{
|
||||
"name": "smart-city-pulsar-manager-db",
|
||||
"image": "postgres:15-alpine",
|
||||
"status": "Exited (0) 5 days ago",
|
||||
"ports": "",
|
||||
"networks": "pulsar-manager-net"
|
||||
},
|
||||
{
|
||||
"name": "thingsboard-rabbitmq",
|
||||
"image": "rabbitmq:3.12-management",
|
||||
"status": "Up 5 days (healthy)",
|
||||
"ports": "4369/tcp, 5671-5672/tcp, 15671-15672/tcp, 15691-15692/tcp, 25672/tcp",
|
||||
"networks": "smartcity-shared"
|
||||
},
|
||||
{
|
||||
"name": "thingsboard-postgres",
|
||||
"image": "postgres:15-alpine",
|
||||
"status": "Up 5 days (healthy)",
|
||||
"ports": "5432/tcp",
|
||||
"networks": "smartcity-shared"
|
||||
},
|
||||
{
|
||||
"name": "mapstore-proxy",
|
||||
"image": "nginx",
|
||||
"status": "Up 5 days",
|
||||
"ports": "80/tcp",
|
||||
"networks": "mapstore2_mapstore-network,traefik-public"
|
||||
},
|
||||
{
|
||||
"name": "mapstore-app",
|
||||
"image": "geosolutionsit/mapstore2:latest",
|
||||
"status": "Up 5 days",
|
||||
"ports": "8080/tcp",
|
||||
"networks": "mapstore2_mapstore-network,smartcity-shared,traefik-public"
|
||||
},
|
||||
{
|
||||
"name": "mapstore-postgres",
|
||||
"image": "geosolutions-mapstore/postgis",
|
||||
"status": "Up 5 days (healthy)",
|
||||
"ports": "5432/tcp",
|
||||
"networks": "mapstore2_mapstore-network"
|
||||
},
|
||||
{
|
||||
"name": "emqx_emqx_1",
|
||||
"image": "emqx/emqx:latest",
|
||||
"status": "Up 5 days",
|
||||
"ports": "4370/tcp, 5369/tcp, 8083-8084/tcp, 0.0.0.0:11883->1883/tcp, [::]:11883->1883/tcp, 0.0.0.0:18081->8081/tcp, [::]:18081->8081/tcp, 0.0.0.0:18883->8883/tcp, [::]:18883->8883/tcp, 0.0.0.0:38083->18083/tcp, [::]:38083->18083/tcp",
|
||||
"networks": "emqx_default,smartcity-shared,traefik-public"
|
||||
},
|
||||
{
|
||||
"name": "smart-city-pulsar",
|
||||
"image": "apachepulsar/pulsar:3.2.0",
|
||||
"status": "Exited (137) 5 days ago",
|
||||
"ports": "",
|
||||
"networks": "smartcity-shared,traefik-public"
|
||||
},
|
||||
{
|
||||
"name": "smart-city-redpanda",
|
||||
"image": "redpandadata/redpanda:v24.3.14",
|
||||
"status": "Exited (255) 5 days ago",
|
||||
"ports": "8081/tcp, 127.0.0.1:8082->8082/tcp, 0.0.0.0:19092->9092/tcp, [::]:19092->9092/tcp, 0.0.0.0:19644->9644/tcp, [::]:19644->9644/tcp",
|
||||
"networks": "smartcity-shared,traefik-public"
|
||||
},
|
||||
{
|
||||
"name": "smart-city-redpanda-console",
|
||||
"image": "docker.redpanda.com/redpandadata/console:v2.5.0",
|
||||
"status": "Up 46 seconds (health: starting)",
|
||||
"ports": "0.0.0.0:28080->8080/tcp, [::]:28080->8080/tcp",
|
||||
"networks": "smartcity-shared,traefik-public"
|
||||
},
|
||||
{
|
||||
"name": "stellio-api-gateway",
|
||||
"image": "stellio/stellio-api-gateway:latest-dev",
|
||||
"status": "Up 2 days",
|
||||
"ports": "8080/tcp",
|
||||
"networks": "stellio-context-broker_default,traefik-public,smartcity-shared"
|
||||
},
|
||||
{
|
||||
"name": "frost_allinone-web-1",
|
||||
"image": "fraunhoferiosb/frost-server:latest",
|
||||
"status": "Up 5 days",
|
||||
"ports": "1883/tcp, 8089/tcp, 127.0.0.1:8090->8080/tcp",
|
||||
"networks": "frost_allinone_default,smartcity-shared"
|
||||
},
|
||||
{
|
||||
"name": "geoserver_stack-geoserver-1",
|
||||
"image": "oscarfonts/geoserver:2.25.2",
|
||||
"status": "Up 5 days (healthy)",
|
||||
"ports": "8080/tcp",
|
||||
"networks": "frost_http_default,smartcity-shared,traefik-public"
|
||||
},
|
||||
{
|
||||
"name": "grafana_stack-grafana-1",
|
||||
"image": "grafana/grafana:latest",
|
||||
"status": "Up 5 days",
|
||||
"ports": "3000/tcp",
|
||||
"networks": "traefik-public,frost_http_default"
|
||||
},
|
||||
{
|
||||
"name": "frost_http-web-1",
|
||||
"image": "fraunhoferiosb/frost-server-http:latest",
|
||||
"status": "Up 5 days",
|
||||
"ports": "8080/tcp",
|
||||
"networks": "frost_http_default,smartcity-shared"
|
||||
},
|
||||
{
|
||||
"name": "esperotech",
|
||||
"image": "esperotech/yaade:latest",
|
||||
"status": "Up 5 days",
|
||||
"ports": "0.0.0.0:9339->9339/tcp, [::]:9339->9339/tcp",
|
||||
"networks": "yaade_default"
|
||||
},
|
||||
{
|
||||
"name": "stellio-search-service",
|
||||
"image": "stellio/stellio-search-service:latest-dev",
|
||||
"status": "Exited (255) 5 days ago",
|
||||
"ports": "8083/tcp",
|
||||
"networks": "traefik-public,smartcity-shared,stellio-context-broker_default"
|
||||
},
|
||||
{
|
||||
"name": "stellio-subscription-service",
|
||||
"image": "stellio/stellio-subscription-service:latest-dev",
|
||||
"status": "Exited (255) 5 days ago",
|
||||
"ports": "8084/tcp",
|
||||
"networks": "smartcity-shared,stellio-context-broker_default,traefik-public"
|
||||
},
|
||||
{
|
||||
"name": "stellio-kafka",
|
||||
"image": "confluentinc/cp-kafka:8.1.0",
|
||||
"status": "Exited (255) 5 days ago",
|
||||
"ports": "9092/tcp, 0.0.0.0:29092->29092/tcp, [::]:29092->29092/tcp",
|
||||
"networks": "smartcity-shared,stellio-context-broker_default"
|
||||
},
|
||||
{
|
||||
"name": "stellio-postgres",
|
||||
"image": "stellio/stellio-timescale-postgis:16-2.24.0-3.6",
|
||||
"status": "Exited (255) 5 days ago",
|
||||
"ports": "5432/tcp",
|
||||
"networks": "smartcity-shared,stellio-context-broker_default"
|
||||
},
|
||||
{
|
||||
"name": "digital-twin-nodered",
|
||||
"image": "nodered/node-red:3.1",
|
||||
"status": "Up 5 days (healthy)",
|
||||
"ports": "0.0.0.0:1880->1880/tcp, [::]:1880->1880/tcp",
|
||||
"networks": "traefik,smartcity-shared"
|
||||
},
|
||||
{
|
||||
"name": "digital-twin-connector",
|
||||
"image": "python:3.11-slim",
|
||||
"status": "Up 30 minutes",
|
||||
"ports": "",
|
||||
"networks": "digital-twin_digital-twin,smartcity-shared"
|
||||
},
|
||||
{
|
||||
"name": "gitea",
|
||||
"image": "gitea/gitea:latest",
|
||||
"status": "Up 5 days",
|
||||
"ports": "22/tcp, 3000/tcp",
|
||||
"networks": "gitea_default,traefik,traefik-public"
|
||||
},
|
||||
{
|
||||
"name": "honcho-grafana-1",
|
||||
"image": "grafana/grafana:11.4.0",
|
||||
"status": "Up 5 days (healthy)",
|
||||
"ports": "127.0.0.1:3088->3000/tcp",
|
||||
"networks": "honcho_default"
|
||||
},
|
||||
{
|
||||
"name": "honcho-prometheus-1",
|
||||
"image": "prom/prometheus:v3.2.1",
|
||||
"status": "Up 5 days (healthy)",
|
||||
"ports": "127.0.0.1:9091->9090/tcp",
|
||||
"networks": "honcho_default,smartcity-shared"
|
||||
},
|
||||
{
|
||||
"name": "honcho-api-1",
|
||||
"image": "honcho:latest",
|
||||
"status": "Up 31 seconds (health: starting)",
|
||||
"ports": "127.0.0.1:8088->8000/tcp",
|
||||
"networks": "traefik-public,honcho_default"
|
||||
},
|
||||
{
|
||||
"name": "honcho-deriver-1",
|
||||
"image": "honcho-deriver",
|
||||
"status": "Up 5 days (healthy)",
|
||||
"ports": "8000/tcp",
|
||||
"networks": "honcho_default"
|
||||
},
|
||||
{
|
||||
"name": "phpipam-phpipam-web-1",
|
||||
"image": "phpipam/phpipam-www:latest",
|
||||
"status": "Up 5 days",
|
||||
"ports": "127.0.0.1:8085->80/tcp",
|
||||
"networks": "phpipam_default,traefik-public"
|
||||
},
|
||||
{
|
||||
"name": "phpipam-phpipam-cron-1",
|
||||
"image": "phpipam/phpipam-cron:latest",
|
||||
"status": "Up 5 days",
|
||||
"ports": "80/tcp",
|
||||
"networks": "phpipam_default"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -27,7 +27,7 @@
|
||||
|
||||
# Input: MQTT Consumer - Mosquitto
|
||||
[[inputs.mqtt_consumer]]
|
||||
servers = ["tcp://smart-city-mosquitto:1883"]
|
||||
servers = ["tcp://smart-city-digital-twin-martinique-mosquitto-1:1883"]
|
||||
topics = [
|
||||
"airquality/#",
|
||||
"traffic/#",
|
||||
@@ -41,23 +41,23 @@
|
||||
data_format = "json"
|
||||
qos = 0
|
||||
|
||||
# Input: MQTT Consumer - BunkerM (with auth)
|
||||
[[inputs.mqtt_consumer]]
|
||||
servers = ["tcp://bunkerm_bunkerm_1:1900"]
|
||||
topics = [
|
||||
"airquality/#",
|
||||
"traffic/#",
|
||||
"parking/#",
|
||||
"noise/#",
|
||||
"weather/#",
|
||||
"light/#",
|
||||
"sensor/#",
|
||||
"smartcity/#"
|
||||
]
|
||||
data_format = "json"
|
||||
qos = 0
|
||||
username = "bunker"
|
||||
password = "bunker"
|
||||
# Input: MQTT Consumer - BunkerM (DISABLED - auth fails, simulator not sending here)
|
||||
# [[inputs.mqtt_consumer]]
|
||||
# servers = ["tcp://bunkerm-bunkerm-1:1900"]
|
||||
# topics = [
|
||||
# "airquality/#",
|
||||
# "traffic/#",
|
||||
# "parking/#",
|
||||
# "noise/#",
|
||||
# "weather/#",
|
||||
# "light/#",
|
||||
# "sensor/#",
|
||||
# "smartcity/#"
|
||||
# ]
|
||||
# data_format = "json"
|
||||
# qos = 0
|
||||
# username = "bunker"
|
||||
# password = "bunker"
|
||||
|
||||
# Output: InfluxDB v2
|
||||
[[outputs.influxdb_v2]]
|
||||
|
||||
Reference in New Issue
Block a user