2022-11-01 16:40:17 +01:00
|
|
|
version: '3'
|
|
|
|
services:
|
2022-11-03 21:13:35 +01:00
|
|
|
backend:
|
|
|
|
build: .
|
2022-11-01 16:40:17 +01:00
|
|
|
depends_on:
|
2022-11-03 21:13:35 +01:00
|
|
|
- db
|
|
|
|
- mqtt
|
|
|
|
environment:
|
|
|
|
# Keycloak config
|
|
|
|
KEYCLOAK_URL: ${KEYCLOAK_URL:?err}
|
|
|
|
KEYCLOAK_USER_NAME: ${KEYCLOAK_USER_NAME:?err}
|
|
|
|
KEYCLOAK_USER_PW: ${KEYCLOAK_USER_PW:?err}
|
|
|
|
KEYCLOAK_REALM: ${KEYCLOAK_REALM:?err}
|
|
|
|
# DB config
|
|
|
|
DB_HOSTNAME: ${DB_HOSTNAME:?err}
|
|
|
|
DB_USERNAME: ${DB_USERNAME:?err}
|
|
|
|
DB_PASSWORD: ${DB_PASSWORD:?err}
|
|
|
|
DB_DATABASE: ${DB_DATABASE:?err}
|
|
|
|
# MQTT config
|
|
|
|
MQTT_USERNAME: ${MQTT_USERNAME:?err}
|
|
|
|
MQTT_PASSWORD: ${MQTT_PASSWORD:?err}
|
|
|
|
MQTT_BROKER: ${MQTT_BROKER:?err}
|
|
|
|
MQTT_CLIENT: ${MQTT_CLIENT:?err}
|
2022-11-01 16:40:17 +01:00
|
|
|
restart: unless-stopped
|
|
|
|
|
|
|
|
db:
|
2022-11-03 21:13:35 +01:00
|
|
|
image: postgres:15-alpine
|
|
|
|
volumes:
|
|
|
|
- ./sql/:/docker-entrypoint-initdb.d/:ro,Z
|
|
|
|
environment:
|
|
|
|
POSTGRES_DB: ${DB_DATABASE}
|
|
|
|
POSTGRES_USER: ${DB_USERNAME}
|
|
|
|
POSTGRES_PASSWORD: ${DB_PASSWORD}
|
|
|
|
|
|
|
|
mqtt:
|
|
|
|
image: eclipse-mosquitto:2
|
2022-11-03 21:33:54 +01:00
|
|
|
ports:
|
|
|
|
- 1883:1883
|
2022-11-03 21:13:35 +01:00
|
|
|
environment:
|
|
|
|
MQTT_USERNAME: ${MQTT_USERNAME}
|
|
|
|
MQTT_PASSWORD: ${MQTT_PASSWORD}
|
|
|
|
entrypoint:
|
|
|
|
- sh
|
|
|
|
- -c
|
|
|
|
- |
|
|
|
|
touch /mosquitto/config/passwd
|
|
|
|
mosquitto_passwd -b /mosquitto/config/passwd $${MQTT_USERNAME:?err} $${MQTT_PASSWORD:?err}
|
|
|
|
echo "bind_address 0.0.0.0" > /mosquitto/config/mosquitto.conf
|
|
|
|
echo "password_file /mosquitto/config/passwd" >> /mosquitto/config/mosquitto.conf
|
|
|
|
echo "allow_anonymous false" >> /mosquitto/config/mosquitto.conf
|
|
|
|
/usr/sbin/mosquitto -c /mosquitto/config/mosquitto.conf
|