services: postgres: restart: always image: "postgres:16" ports: - "5432" environment: POSTGRES_DB: thingsboard POSTGRES_PASSWORD: postgres volumes: - postgres-data:/var/lib/postgresql/data thingsboard-ce: restart: always image: "thingsboard/tb-node:4.2.1" ports: - "8080:8080" # HTTP - "7070:7070" # Edge RPC - "1884:1883" # MQTT - "8883:8883" # MQTT SSL - "5683-5688:5683-5688/udp" # CoAP / LwM2M logging: driver: "json-file" options: max-size: "100m" max-file: "10" environment: TB_SERVICE_ID: tb-ce-node SPRING_DATASOURCE_URL: jdbc:postgresql://postgres:5432/thingsboard depends_on: - postgres tb-gateway: image: thingsboard/tb-gateway:3.7-stable container_name: tb-gateway restart: always # Ports bindings - required by some connectors ports: - "5000:5000" # Comment if you don't use REST connector and change if you use another port # Uncomment and modify the following ports based on connector usage: # - "1052:1052" # BACnet connector # - "5026:5026" # Modbus TCP connector (Modbus Slave) # - "50000:50000/tcp" # Socket connector with type TCP # - "50000:50000/udp" # Socket connector with type UDP # Necessary mapping for Linux extra_hosts: - "host.docker.internal:host-gateway" # Environment variables environment: - host=thingsboard-ce - port=1883 - accessToken=RDcjMLVRLNn9x0c5MZr5 # Volumes bind volumes: - tb-gw-config:/thingsboard_gateway/config - tb-gw-logs:/thingsboard_gateway/logs - tb-gw-extensions:/thingsboard_gateway/extensions chirpstack: image: chirpstack/chirpstack:4 command: -c /etc/chirpstack restart: unless-stopped volumes: - ./configuration/chirpstack:/etc/chirpstack depends_on: - chirp-postgres - mosquitto - redis environment: - MQTT_BROKER_HOST=mosquitto - REDIS_HOST=redis - POSTGRESQL_HOST=chirp-postgres ports: - "9090:8080" chirpstack-gateway-bridge: image: chirpstack/chirpstack-gateway-bridge:4 restart: unless-stopped ports: - "1700:1700/udp" volumes: - ./configuration/chirpstack-gateway-bridge:/etc/chirpstack-gateway-bridge environment: - INTEGRATION__MQTT__EVENT_TOPIC_TEMPLATE=eu868/gateway/{{ .GatewayID }}/event/{{ .EventType }} - INTEGRATION__MQTT__STATE_TOPIC_TEMPLATE=eu868/gateway/{{ .GatewayID }}/state/{{ .StateType }} - INTEGRATION__MQTT__COMMAND_TOPIC_TEMPLATE=eu868/gateway/{{ .GatewayID }}/command/# depends_on: - mosquitto chirpstack-gateway-bridge-basicstation: image: chirpstack/chirpstack-gateway-bridge:4 restart: unless-stopped command: -c /etc/chirpstack-gateway-bridge/chirpstack-gateway-bridge-basicstation-eu868.toml ports: - "3001:3001" volumes: - ./configuration/chirpstack-gateway-bridge:/etc/chirpstack-gateway-bridge depends_on: - mosquitto chirpstack-rest-api: image: chirpstack/chirpstack-rest-api:4 restart: unless-stopped command: --server chirpstack:8080 --bind 0.0.0.0:8090 --insecure ports: - "8090:8090" depends_on: - chirpstack chirp-postgres: image: postgres:14-alpine restart: unless-stopped volumes: - ./configuration/postgresql/initdb:/docker-entrypoint-initdb.d - chirp-postgresqldata:/var/lib/postgresql/data environment: - POSTGRES_USER=chirpstack - POSTGRES_PASSWORD=chirpstack - POSTGRES_DB=chirpstack redis: image: redis:7-alpine restart: unless-stopped command: redis-server --save 300 1 --save 60 100 --appendonly no volumes: - chirp-redisdata:/data mosquitto: image: eclipse-mosquitto:2 restart: unless-stopped ports: - "1883:1883" volumes: - ./configuration/mosquitto/config/:/mosquitto/config/ scripts: build: context: . dockerfile: Dockerfile.scripts environment: TOKEN_COMPUTER: "c6ghQDyusdlqp2alV7rP" depends_on: - thingsboard-ce volumes: postgres-data: name: tb-postgres-data driver: local tb-gw-config: name: tb-gw-config tb-gw-logs: name: tb-gw-logs tb-gw-extensions: name: tb-gw-extensions chirp-postgresqldata: chirp-redisdata: