160 lines
4.3 KiB
YAML
160 lines
4.3 KiB
YAML
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:
|
|
|