- Fix Pulsar: use binary client (port 6650) instead of non-existent REST /produce API - Add pulsar-client to Dockerfile - Create pulsar/distribution.py: consumes Pulsar and republishes to MQTT (EMQX/Mosquitto), NGSI-LD (Orion/Stellio), FROST - Add docker-compose.distribution.yml for the distribution service - Tested: Messages successfully distributed to EMQX and Orion-LD - Update session resume
31 lines
913 B
YAML
31 lines
913 B
YAML
# Pulsar Distribution Service — Smart City Digital Twin Martinique
|
|
# Consumes from Pulsar and republishes to MQTT/FIWARE brokers
|
|
# Usage: docker compose -f docker-compose.yml -f docker-compose.distribution.yml up -d
|
|
|
|
services:
|
|
pulsar-distribution:
|
|
build:
|
|
context: ./pulsar
|
|
dockerfile: Dockerfile
|
|
container_name: smart-city-pulsar-distribution
|
|
networks:
|
|
- smartcity-shared
|
|
- traefik-public
|
|
environment:
|
|
- PULSAR_HOST=smart-city-pulsar
|
|
- PULSAR_PORT=6650
|
|
- EMQX_HOST=emqx_emqx_1
|
|
- MOSQUITTO_HOST=mosquitto-traefik
|
|
- ORION_URL=http://fiware-gis-quickstart-orion-1:1026
|
|
- STELLIO_URL=http://stellio-api-gateway:8080
|
|
- FROST_URL=http://frost-api-8090:8080/FROST-Server/v1.1
|
|
restart: unless-stopped
|
|
labels:
|
|
- "traefik.enable=false"
|
|
|
|
networks:
|
|
traefik-public:
|
|
external: true
|
|
smartcity-shared:
|
|
external: true
|