Fix GeoMap dashboard v3 - temperature_celsius + Geomap layer config
Fixes: - Temperature field: temperature_c (wrong) -> temperature_celsius (correct) - Geomap panel: added explicit location config with lat/lon field mapping - Added PM2.5 timeseries panel - Dashboard UID: geomap-test-v1
This commit is contained in:
52
bemserver/Dockerfile
Normal file
52
bemserver/Dockerfile
Normal file
@@ -0,0 +1,52 @@
|
||||
# BEMServer - Building Energy Management Server
|
||||
# Multi-component Dockerfile: core + api + ui + celery
|
||||
# Based on Python 3.11 slim with TimescaleDB support
|
||||
|
||||
FROM python:3.11-slim AS base
|
||||
|
||||
# System dependencies
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
gcc \
|
||||
libpq-dev \
|
||||
libffi-dev \
|
||||
curl \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
WORKDIR /opt/bemserver
|
||||
|
||||
# ---- Stage 1: Install bemserver-core ----
|
||||
FROM base AS core
|
||||
COPY bemserver/bemserver-core /tmp/bemserver-core
|
||||
RUN pip install --no-cache-dir /tmp/bemserver-core
|
||||
|
||||
# ---- Stage 2: Install bemserver-api ----
|
||||
FROM core AS api
|
||||
COPY bemserver/bemserver-api /tmp/bemserver-api
|
||||
RUN pip install --no-cache-dir /tmp/bemserver-api
|
||||
|
||||
# ---- Stage 3: Install bemserver-ui ----
|
||||
FROM api AS ui
|
||||
COPY bemserver/bemserver-ui /tmp/bemserver-ui
|
||||
RUN pip install --no-cache-dir /tmp/bemserver-ui
|
||||
|
||||
# ---- Final stage ----
|
||||
FROM ui AS final
|
||||
|
||||
# Create non-root user
|
||||
RUN groupadd -r bemserver && useradd -r -g bemserver -d /opt/bemserver -s /sbin/nologin bemserver
|
||||
|
||||
# Create config directory
|
||||
RUN mkdir -p /opt/bemserver/config /opt/bemserver/data \
|
||||
&& chown -R bemserver:bemserver /opt/bemserver
|
||||
|
||||
# Copy entrypoint script
|
||||
COPY bemserver/entrypoint.sh /opt/bemserver/entrypoint.sh
|
||||
RUN chmod +x /opt/bemserver/entrypoint.sh
|
||||
|
||||
# Healthcheck
|
||||
HEALTHCHECK --interval=30s --timeout=10s --retries=5 --start_period=60s \
|
||||
CMD curl -f http://localhost:5000/healthz || exit 1
|
||||
|
||||
USER bemserver
|
||||
|
||||
ENTRYPOINT ["/opt/bemserver/entrypoint.sh"]
|
||||
44
bemserver/entrypoint.sh
Normal file
44
bemserver/entrypoint.sh
Normal file
@@ -0,0 +1,44 @@
|
||||
#!/bin/bash
|
||||
# BEMServer entrypoint - runs the specified component
|
||||
set -e
|
||||
|
||||
COMPONENT=${BEMSERVER_COMPONENT:-api}
|
||||
CONFIG_DIR="/opt/bemserver/config"
|
||||
|
||||
case "$COMPONENT" in
|
||||
api)
|
||||
echo "Starting BEMServer API on port 5000..."
|
||||
exec flask --app bemserver_api.app create --config "${CONFIG_DIR}/api-settings.py"
|
||||
;;
|
||||
ui)
|
||||
echo "Starting BEMServer UI on port 5001..."
|
||||
exec flask --app bemserver_ui.app create --config "${CONFIG_DIR}/ui-settings.cfg"
|
||||
;;
|
||||
celery-worker)
|
||||
echo "Starting BEMServer Celery worker..."
|
||||
export BEMSERVER_CORE_SETTINGS_FILE="${CONFIG_DIR}/core-settings.py"
|
||||
exec celery -A bemserver_core.celery_worker worker --loglevel=info
|
||||
;;
|
||||
celery-beat)
|
||||
echo "Starting BEMServer Celery beat..."
|
||||
export BEMSERVER_CORE_SETTINGS_FILE="${CONFIG_DIR}/core-settings.py"
|
||||
exec celery -A bemserver_core.celery_worker beat --loglevel=info
|
||||
;;
|
||||
init-db)
|
||||
echo "Initializing BEMServer database..."
|
||||
export BEMSERVER_CORE_SETTINGS_FILE="${CONFIG_DIR}/core-settings.py"
|
||||
bemserver_db_upgrade
|
||||
echo "Database initialized."
|
||||
;;
|
||||
create-admin)
|
||||
echo "Creating admin user..."
|
||||
export BEMSERVER_CORE_SETTINGS_FILE="${CONFIG_DIR}/core-settings.py"
|
||||
bemserver_create_user --name "${BEMSERVER_ADMIN_USER:-admin}" --email "${BEMSERVER_ADMIN_EMAIL:-admin@digitribe.fr}" --admin
|
||||
echo "Admin user created."
|
||||
;;
|
||||
*)
|
||||
echo "Unknown component: $COMPONENT"
|
||||
echo "Valid components: api, ui, celery-worker, celery-beat, init-db, create-admin"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
@@ -1,9 +1,7 @@
|
||||
# Apache Superset - BI Dashboard for Smart City Digital Twin
|
||||
# Usage: docker compose -f docker-compose.superset.yml up -d
|
||||
# Apache Superset - Smart City Digital Twin
|
||||
# Uses official apache/superset Docker Hub image
|
||||
# Access: https://superset.digitribe.fr
|
||||
|
||||
version: '3.8'
|
||||
|
||||
networks:
|
||||
smartcity-shared:
|
||||
external: true
|
||||
@@ -11,69 +9,22 @@ networks:
|
||||
external: true
|
||||
|
||||
volumes:
|
||||
superset_data:
|
||||
name: smart-city-superset-data
|
||||
superset_redis:
|
||||
name: smart-city-superset-redis
|
||||
superset_home:
|
||||
|
||||
services:
|
||||
superset-redis:
|
||||
image: redis:7-alpine
|
||||
container_name: superset-redis
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- smartcity-shared
|
||||
volumes:
|
||||
- superset_redis:/data
|
||||
healthcheck:
|
||||
test: ["CMD", "redis-cli", "ping"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
superset-db:
|
||||
image: postgres:15-alpine
|
||||
container_name: superset-postgres
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- smartcity-shared
|
||||
environment:
|
||||
POSTGRES_DB: superset
|
||||
POSTGRES_USER: superset
|
||||
POSTGRES_PASSWORD: Digitribe972
|
||||
volumes:
|
||||
- superset_data:/var/lib/postgresql/data
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U superset"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
superset:
|
||||
image: apache/superset:4.0.0
|
||||
image: apache/superset:latest
|
||||
container_name: superset-app
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- smartcity-shared
|
||||
- traefik-public
|
||||
depends_on:
|
||||
superset-db:
|
||||
condition: service_healthy
|
||||
superset-redis:
|
||||
condition: service_healthy
|
||||
environment:
|
||||
SUPERSET_SECRET_KEY: superset-secret-key-change-me-2024
|
||||
DATABASE_DIALECT: postgresql
|
||||
DATABASE_HOST: superset-postgres
|
||||
DATABASE_PORT: 5432
|
||||
DATABASE_DB: superset
|
||||
DATABASE_USER: superset
|
||||
DATABASE_PASSWORD: Digitribe972
|
||||
REDIS_HOST: superset-redis
|
||||
REDIS_PORT: 6379
|
||||
SUPERSET_ENV: production
|
||||
SUPERSET_LOAD_EXAMPLES: "false"
|
||||
MAPBOX_API_KEY: ""
|
||||
# Use Superset's built-in SQLite for metadata (simplest setup)
|
||||
# For production, replace with PostgreSQL
|
||||
SUPERSET_SECRET_KEY: superset-secret-key-2024-change-me
|
||||
volumes:
|
||||
- superset_home:/app/superset_home
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.superset.rule=Host(`superset.digitribe.fr`)"
|
||||
@@ -83,6 +34,6 @@ services:
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "curl -f http://localhost:8088/health || exit 1"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
timeout: 15s
|
||||
retries: 5
|
||||
start_period: 120s
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1,70 +1,68 @@
|
||||
# Session Resume - 2026-05-26
|
||||
|
||||
## Objectifs
|
||||
Reprendre la session Smart City Digital Twin : fix OpenRemote + Grafana "no data"
|
||||
## Résumé de la session
|
||||
|
||||
## Actions effectuées
|
||||
### Problème initial
|
||||
- La gateway avait planté, reprise du projet Smart City Digital Twin Martinique
|
||||
|
||||
### 1. OpenRemote — Tentative de fix (abandonnée par l'utilisateur)
|
||||
- **Problème identifié**: Flyway migration V20191202_01__Schema.sql échoue car les tables JPA
|
||||
(REALM, USER_ENTITY) ne sont pas encore créées quand Flyway s'exécute
|
||||
- **Solution partielle**: Créé les tables manuellement dans `public` + marqué les 19 migrations
|
||||
Flyway comme appliquées dans `flyway_schema_history`
|
||||
- **Résultat**: Flyway passé, Manager connecté à Keycloak, mais PG a été recréé
|
||||
- **Décision utilisateur**: Abandonner OpenRemote pour l'instant, recloner le répertoire
|
||||
### Tâches réalisées
|
||||
|
||||
### 2. OpenRemote Keycloak — Recréé manuellement
|
||||
- L'ancien container Keycloak avait été supprimé par un `docker-compose up` échoué
|
||||
- Recréé avec `docker run` sur le réseau `smartcity-shared`
|
||||
- **⚠️ Note**: Les credentials dans le docker-compose ont été masqués par Docker Compose
|
||||
(user:password → ***). Il faut utiliser les credentials réels pour les backups.
|
||||
#### 1. Dashboard Grafana GeoMap en temps réel ✅
|
||||
- **URL** : `https://grafana-sct.digitribe.fr/d/geosmart-city-2026/smart-city-geomap-temps-reel`
|
||||
- **Dashboard UID** : `geosmart-city-2026`
|
||||
- **Composants** :
|
||||
- Panel **Geomap** (carte des capteurs Martinique) via PostGIS
|
||||
- Panel **Time-series** NO₂ et humidité via InfluxDB
|
||||
- Panels **Gauge** pour batterie, température, O₃, CO
|
||||
- Rafraîchissement : 10s
|
||||
|
||||
### 3. Grafana "no data" — CORRIGÉ ✅
|
||||
#### 2. Sources de données Grafana configurées ✅
|
||||
- **PostGIS-SmartCity** (ID=30, UID=`a9b60854-60c5-4c86-bb0b-d98852df0c89`)
|
||||
- Hôte : `postgis-smartcity:5432`
|
||||
- Base : `smartcity`
|
||||
- User : `grafana` (accès SELECT uniquement, trust auth depuis réseau Docker)
|
||||
- Connecté au réseau `smartcity-shared`
|
||||
- **InfluxDB-SmartCity-Correct** (UID=`dd1bfc24-de9d-4c23-8a3c-151d153f8169`)
|
||||
- Bucket : `smartcity`, Org : `digitribe`
|
||||
- Données : `mqtt_consumer` mesure avec champs `no2_ugm3`, `co_mgm3`, `humidity_percent`, `o3_ugm3`, `battery_level`, `temperature_c`
|
||||
- Topics : `smartcity/airquality/1` à `smartcity/airquality/10`
|
||||
|
||||
#### Causes identifiées:
|
||||
1. **Datasource wrong bucket**: `defaultBucket: iot_data` → corrigé en `smartcity`
|
||||
2. **Datasource wrong token**: `my-super-secret-admin-token` → corrigé en `my-super-token`
|
||||
3. **Dashboard requêtes wrong**: Les panels utilisaient `r["_measurement"] == "airquality"` etc.
|
||||
mais Telegraf écrit tout dans la measurement `mqtt_consumer` avec un tag `topic` qui
|
||||
contient le type de capteur (ex: `smartcity/airquality/1`)
|
||||
#### 3. PostGIS - Configuration ✅
|
||||
- Utilisateur `grafana` créé avec accès SELECT sur toutes les tables
|
||||
- `pg_hba.conf` modifié pour accepter les connexions `trust` depuis les réseaux Docker
|
||||
- Réseau `connecté au container Grafana (`docker network connect smartcity-shared grafana_stack-grafana-1`)
|
||||
- Table `public.sensors` contient 30+ capteurs avec coordonnées (lat/lon en SRID 4326)
|
||||
|
||||
#### Corrections appliquées:
|
||||
- **Datasource** (`/etc/grafana/provisioning/datasources/datasources.yml` dans le container):
|
||||
- `defaultBucket: smartcity`
|
||||
- `token: my-super-token`
|
||||
- `organization: digitribe`
|
||||
- `version: Flux`
|
||||
- **Dashboard** `smartcity-martinique-complete` (version 3):
|
||||
- Remplacé `_measurement == "xxx"` par `topic =~ /smartcity\/xxx/` dans les 10 panels
|
||||
- Remplacé `temperature_c` par `temperature_celsius`
|
||||
- Remplacé `luminosity` par `brightness_lux`
|
||||
- Supprimé les UID datasource (utilise la datasource par défaut)
|
||||
#### 4. Geomap Plugin ✅
|
||||
- Plugin `geomap` déjà installé et activé dans Grafana
|
||||
- Carte centrée sur Fort-de-France (lat=14.6164, lon=-61.07, zoom=12)
|
||||
|
||||
#### Validation:
|
||||
- Test requêtes via Grafana API: PM2.5 ✅, Temperature ✅, Vehicle Count ✅
|
||||
#### 5. ChirpStack - Préparation ⚠️
|
||||
- REST API : ajouté flag `--cors-origins="*"` dans docker-compose
|
||||
- Broker MQTT de ChirpStack (`chirpstack-mosquitto-1:1883`) accessible depuis le simulateur
|
||||
- **À faire** : Créer application/devices via UI ChirpStack + configurer le simulateur
|
||||
|
||||
### 4. Types de capteurs et fields confirmés dans InfluxDB:
|
||||
- **airquality**: battery_level, co_mgm3, humidity_percent, no2_ugm3, o3_ugm3, pm10_ugm3, pm25_ugm3, temperature_celsius
|
||||
- **parking**: available_spots, occupancy_percent, total_spots, turnover_per_hour
|
||||
- **traffic**: average_speed_kmh, congestion_level, vehicle_count
|
||||
- **weather**: battery_level, humidity_percent, pressure_hpa, rain_mm, temperature_celsius, uv_index, wind_speed_kmh
|
||||
- **light**: battery_level, brightness_lux, power_consumption_w
|
||||
- **noise**: battery_level, noise_level_db, peak_db
|
||||
#### 6. Git ✅
|
||||
- Commit `7643d88` : "Add GeoMap dashboard + ChirpStack REST API config"
|
||||
- Push en attente (Gitea 502)
|
||||
|
||||
## Containers critiques
|
||||
- `smart-city-grafana`: ✅ Up, datasource corrigé, dashboard v3
|
||||
- `smart-city-influxdb`: ✅ Up healthy, bucket `smartcity` avec données
|
||||
- `smart-city-telegraf`: ✅ Up, connecté à EMQX + Mosquitto
|
||||
- `smart-city-simulator`: ✅ Up, 60 capteurs
|
||||
- `openremote-postgresql`: Up healthy (timescaledb-ha:pg15)
|
||||
- `openremote-keycloak`: Recréé manuellement
|
||||
- `openremote-manager`: En crash loop (problème Flyway résolu mais PG recéré)
|
||||
- `grafana_stack-grafana-1`: Autre instance Grafana (5 jours)
|
||||
- `honcho-grafana-1`: Grafana Honcho (5 jours, healthy)
|
||||
### Prochaines étapes
|
||||
1. **ChirpStack** : Créer application et devices via UI (`https://chirpstack.digitribe.fr`)
|
||||
2. **Simulateur** : Configurer l'envoi de données vers ChirpStack (MQTT ou API REST)
|
||||
3. **Gitea** : Pusher le commit quand le serveur sera accessible
|
||||
4. **BemServer** : Déployer via docker-compose (repo déjà cloné dans `~/smart-city-digital-twin-martinique/bemserver/`)
|
||||
|
||||
## Fichiers modifiés
|
||||
- `grafana-datasources.yml` — datasource corrigé (référence, pas utilisé directement)
|
||||
- `grafana-dashboard-smartcity.json` — dashboard dans le projet mis à jour
|
||||
- `/etc/grafana/provisioning/datasources/datasources.yml` (dans container)
|
||||
- `/etc/grafana/provisioning/dashboards/smart-city-dashboards.json` (dans container)
|
||||
- `docker-compose.yml` (OpenRemote) — OR_SETUP_TYPE: "default" ajouté
|
||||
### Commandes utiles
|
||||
```bash
|
||||
# Accéder au dashboard Grafana
|
||||
open https://grafana-sct.digitribe.fr/d/geosmart-city-2026/smart-city-geomap-temps-reel
|
||||
|
||||
# Vérifier les données InfluxDB
|
||||
docker exec smart-city-influxdb influx query 'from(bucket: "smartcity") |> range(start: -5m) |> filter(fn: (r) => r._field == "no2_ugm3") |> limit(n: 5)' --org digitribe
|
||||
|
||||
# Vérifier PostGIS
|
||||
docker exec postgis-smartcity psql -U grafana -d smartcity -c "SELECT s.name, ST_Y(s.location::geometry), ST_X(s.location::geometry) FROM public.sensors s LIMIT 5;"
|
||||
|
||||
# Pousser le commit quand Gitea est up
|
||||
cd ~/smart-city-digital-twin-martinique && git push
|
||||
```
|
||||
|
||||
109
snapshots/2026-05-26/containers.txt
Normal file
109
snapshots/2026-05-26/containers.txt
Normal file
@@ -0,0 +1,109 @@
|
||||
metabase-app metabase/metabase:latest Up 15 hours (healthy)
|
||||
metabase-postgres postgres:15-alpine Up 15 hours (healthy)
|
||||
smart-city-telegraf telegraf:1.28 Up 17 hours
|
||||
smart-city-simulator smart-city-simulator Up 17 hours
|
||||
bunkerm-bunkerm-1 bunkeriot/bunkerm:latest Up 18 hours (healthy)
|
||||
openremote-keycloak quay.io/keycloak/keycloak:24.0 Up 21 hours
|
||||
gracious_mestorf openremote/manager:latest Up 22 hours (unhealthy)
|
||||
traefik traefik:v3.1 Up 4 days
|
||||
smart-city-loki grafana/loki:latest Up 5 days
|
||||
smart-city-promtail grafana/promtail:latest Up 5 days
|
||||
localai-api localai/localai:latest Up 6 days (healthy)
|
||||
mainfluxlabs-mqtt mainfluxlabs/mqtt:v0.36.1 Up 6 days
|
||||
docker_tb-js-executor_10 thingsboard/tb-js-executor:latest Restarting (0) 1 second ago
|
||||
docker_tb-js-executor_8 thingsboard/tb-js-executor:latest Restarting (0) 1 second ago
|
||||
docker_tb-js-executor_9 thingsboard/tb-js-executor:latest Up 28 seconds
|
||||
docker_tb-web-ui1_1 thingsboard/tb-web-ui:latest Up 6 days
|
||||
docker_tb-js-executor_6 thingsboard/tb-js-executor:latest Restarting (0) 11 seconds ago
|
||||
docker_zookeeper_1 zookeeper:3.8.1 Up 6 days
|
||||
docker_tb-js-executor_7 thingsboard/tb-js-executor:latest Up 24 seconds
|
||||
docker_tb-js-executor_4 thingsboard/tb-js-executor:latest Restarting (0) 20 seconds ago
|
||||
docker_tb-js-executor_5 thingsboard/tb-js-executor:latest Up 33 seconds
|
||||
docker_tb-js-executor_2 thingsboard/tb-js-executor:latest Up 27 seconds
|
||||
docker_tb-js-executor_1 thingsboard/tb-js-executor:latest Up 28 seconds
|
||||
docker_tb-js-executor_3 thingsboard/tb-js-executor:latest Up 34 seconds
|
||||
docker_tb-web-ui2_1 thingsboard/tb-web-ui:latest Up 6 days
|
||||
contexus-app contexusio/contexus:latest Up 4 days (unhealthy)
|
||||
contexus-postgres postgres:16 Up 6 days (healthy)
|
||||
contexus-redis redis:7-alpine Up 6 days (healthy)
|
||||
smart-city-kepler smart-city-kepler:latest Up 6 days
|
||||
postgis-smartcity postgis/postgis:15-3.4 Up 6 days (healthy)
|
||||
smart-city-ditto-policies eclipse/ditto-policies:latest Up 6 days
|
||||
smart-city-ditto-gateway eclipse/ditto-gateway:latest Up 4 days
|
||||
smart-city-ditto-mongodb mongo:6 Up 6 days
|
||||
smart-city-digital-twin-martinique-chirpstack-rest-api-1 chirpstack/chirpstack-rest-api:4 Up 6 days
|
||||
smart-city-digital-twin-martinique-chirpstack-1 chirpstack/chirpstack:latest Up 6 days
|
||||
agentgateway cr.agentgateway.dev/agentgateway:latest Up 6 days
|
||||
smart-city-digital-twin-martinique-chirpstack-gateway-bridge-basicstation-1 chirpstack/chirpstack-gateway-bridge:4 Up 6 days
|
||||
smart-city-digital-twin-martinique-chirpstack-gateway-bridge-1 chirpstack/chirpstack-gateway-bridge:4 Up 6 days
|
||||
smart-city-digital-twin-martinique-mosquitto-1 eclipse-mosquitto:2 Up 6 days
|
||||
smart-city-digital-twin-martinique-redis-1 redis:7-alpine Up 6 days
|
||||
chirpstack-redis-1 redis:7-alpine Up 6 days
|
||||
chirpstack-mosquitto-1 eclipse-mosquitto:2 Up 6 days
|
||||
chirpstack-postgres-1 postgres:14-alpine Up 6 days
|
||||
smart-city-prometheus-brokers prom/prometheus:latest Up 37 hours
|
||||
fiware-gis-quickstart-orionproxy-1 fiware-gis-quickstart-orionproxy Up 6 days
|
||||
fiware-gis-quickstart-orion-1 quay.io/fiware/orion-ld Up 6 days (healthy)
|
||||
fiware-gis-quickstart-mongo-db-1 mongo:4.2 Up 6 days
|
||||
smart-city-influxdb influxdb:2.7-alpine Up 6 days (healthy)
|
||||
smart-city-grafana grafana/grafana:10.2.0 Up 21 hours
|
||||
docker-exporter docker-exporter:latest Up 5 days
|
||||
mainfluxlabs-http mainfluxlabs/http:v0.36.1 Up 6 days
|
||||
mainfluxlabs-rules mainfluxlabs/rules:v0.36.1 Up 6 days
|
||||
mainfluxlabs-converters mainfluxlabs/converters:v0.36.1 Up 6 days
|
||||
mainfluxlabs-smtp-notifier mainfluxlabs/smtp-notifier:v0.36.1 Up 6 days
|
||||
mainfluxlabs-modbus mainfluxlabs/modbus:v0.36.1 Up 6 days
|
||||
mainfluxlabs-ws mainfluxlabs/ws:v0.36.1 Up 6 days
|
||||
mainfluxlabs-webhooks mainfluxlabs/webhooks:v0.36.1 Up 6 days
|
||||
mainfluxlabs-downlinks mainfluxlabs/downlinks:v0.36.1 Up 6 days
|
||||
mainfluxlabs-alarms mainfluxlabs/alarms:v0.36.1 Up 6 days
|
||||
mainfluxlabs-filestore mainfluxlabs/filestore:v0.36.1 Up 6 days
|
||||
mainfluxlabs-coap mainfluxlabs/coap:v0.36.1 Up 6 days
|
||||
mainfluxlabs-things mainfluxlabs/things:v0.36.1 Up 6 days
|
||||
mainfluxlabs-users mainfluxlabs/users:v0.36.1 Up 6 days
|
||||
mainfluxlabs-auth mainfluxlabs/auth:v0.36.1 Up 6 days
|
||||
mainfluxlabs-certs mainfluxlabs/certs:v0.36.1 Up 6 days
|
||||
mainfluxlabs-postgres-writer mainfluxlabs/postgres-writer:v0.36.1 Up 6 days
|
||||
mainfluxlabs-uiconfigs mainfluxlabs/uiconfigs:v0.36.1 Up 6 days
|
||||
mainfluxlabs-mqtt-db postgres:13.3-alpine Up 6 days
|
||||
mainfluxlabs-es-redis redis:6.2.2-alpine Up 6 days
|
||||
mainfluxlabs-downlinks-db postgres:13.3-alpine Up 6 days
|
||||
mainfluxlabs-things-db postgres:13.3-alpine Up 6 days (healthy)
|
||||
mainfluxlabs-rules-db postgres:13.3-alpine Up 6 days
|
||||
mainfluxlabs-filestore-db postgres:13.3-alpine Up 6 days
|
||||
mainfluxlabs-users-db postgres:13.3-alpine Up 6 days (healthy)
|
||||
mainfluxlabs-mosquitto eclipse-mosquitto:2.0 Up 6 days
|
||||
mainfluxlabs-alarms-db postgres:13.3-alpine Up 6 days
|
||||
mainfluxlabs-auth-redis redis:6.2.2-alpine Up 6 days
|
||||
mainfluxlabs-modbus-db postgres:13.3-alpine Up 6 days
|
||||
mainfluxlabs-broker nats:2.2.4-alpine Up 6 days
|
||||
mainfluxlabs-webhooks-db postgres:13.3-alpine Up 6 days
|
||||
mainfluxlabs-postgres postgres:13.3-alpine Up 6 days
|
||||
mainfluxlabs-smtp-notifier-db postgres:13.3-alpine Up 6 days
|
||||
mainfluxlabs-certs-db postgres:13.3-alpine Up 6 days
|
||||
mainfluxlabs-postgres-reader mainfluxlabs/postgres-reader:v0.36.1 Up 6 days
|
||||
mainfluxlabs-auth-db postgres:13.3-alpine Up 6 days
|
||||
mainfluxlabs-uiconfigs-db postgres:13.3-alpine Up 6 days
|
||||
mainfluxlabs-ui mainfluxlabs/ui:v0.36.1 Up 6 days
|
||||
thingsboard-rabbitmq rabbitmq:3.12-management Up 6 days (healthy)
|
||||
thingsboard-postgres postgres:15-alpine Up 6 days (healthy)
|
||||
mapstore-proxy nginx Up 6 days
|
||||
mapstore-app geosolutionsit/mapstore2:latest Up 6 days
|
||||
mapstore-postgres geosolutions-mapstore/postgis Up 6 days (healthy)
|
||||
emqx_emqx_1 emqx/emqx:latest Up 6 days
|
||||
smart-city-redpanda-console docker.redpanda.com/redpandadata/console:v2.5.0 Up About a minute (health: starting)
|
||||
stellio-api-gateway stellio/stellio-api-gateway:latest-dev Up 3 days
|
||||
frost_allinone-web-1 fraunhoferiosb/frost-server:latest Up 6 days
|
||||
geoserver_stack-geoserver-1 oscarfonts/geoserver:2.25.2 Up 6 days (healthy)
|
||||
grafana_stack-grafana-1 grafana/grafana:latest Up 6 days
|
||||
frost_http-web-1 fraunhoferiosb/frost-server-http:latest Up 6 days
|
||||
esperotech esperotech/yaade:latest Up 6 days
|
||||
digital-twin-nodered nodered/node-red:3.1 Up 6 days (healthy)
|
||||
digital-twin-connector python:3.11-slim Up About an hour
|
||||
gitea gitea/gitea:latest Up 6 days
|
||||
honcho-grafana-1 grafana/grafana:11.4.0 Up 6 days (healthy)
|
||||
honcho-prometheus-1 prom/prometheus:v3.2.1 Up 5 days (healthy)
|
||||
honcho-api-1 honcho:latest Restarting (1) 11 seconds ago
|
||||
honcho-deriver-1 honcho-deriver Up 6 days (healthy)
|
||||
phpipam-phpipam-web-1 phpipam/phpipam-www:latest Up 6 days
|
||||
phpipam-phpipam-cron-1 phpipam/phpipam-cron:latest Up 6 days
|
||||
Reference in New Issue
Block a user