143 lines
3.3 KiB
YAML
143 lines
3.3 KiB
YAML
|
version: '3'
|
||
|
|
||
|
services:
|
||
|
# openAger nodered
|
||
|
nodered:
|
||
|
build:
|
||
|
context: ./nodered
|
||
|
args:
|
||
|
- MOSQUITTO_PORT=${MOSQUITTO_PORT}
|
||
|
- MQTT_URL=${MQTT_URL}
|
||
|
- MYSQL_URL=${MYSQL_URL}
|
||
|
- MYSQL_DATABASE=${MYSQL_DATABASE}
|
||
|
- INFLUXDB_USER=${INFLUXDB_USER}
|
||
|
- INFLUXDB_USER_PASSWORD=${INFLUXDB_USER_PASSWORD}
|
||
|
- INFLUXDB_DB=${INFLUXDB_DB}
|
||
|
- INFLUX_URL=${INFLUX_URL}
|
||
|
ports:
|
||
|
- '${NODE_PORT}:1880/tcp'
|
||
|
volumes:
|
||
|
- node-red:/data
|
||
|
environment:
|
||
|
- NODE_VIRTUAL_HOST
|
||
|
- NODE_LETSENCRYPT_EMAIL
|
||
|
- NODE_LETSENCRYPT_HOST
|
||
|
- NODE_RED_CREDENTIAL_SECRET
|
||
|
- NODE_RED_USER_AUTH
|
||
|
- NODE_RED_ADMIN_AUTH
|
||
|
- MQTT_URL
|
||
|
- MOSQUITTO_PORT
|
||
|
- MYSQL_URL
|
||
|
- MYSQL_DATABASE
|
||
|
- TZ
|
||
|
- INFLUXDB_USER
|
||
|
- INFLUXDB_USER_PASSWORD
|
||
|
- INFLUXDB_DB
|
||
|
- INFLUX_URL
|
||
|
restart: always
|
||
|
networks:
|
||
|
openager.local:
|
||
|
|
||
|
# openAger mosquitto
|
||
|
mosquitto:
|
||
|
build: mosquitto/.
|
||
|
ports:
|
||
|
- '${MOSQUITTO_PORT}:1883/tcp'
|
||
|
- '${MOSQUITTOS_PORT}:9001/tcp'
|
||
|
volumes:
|
||
|
- mosquitto_cfg:/mosquitto
|
||
|
- mosquitto_data:/mosquitto/data
|
||
|
- mosquitto_log:/mosquitto/log
|
||
|
environment:
|
||
|
- TZ
|
||
|
restart: always
|
||
|
networks:
|
||
|
openager.local:
|
||
|
|
||
|
# openAger mariadb
|
||
|
mariadb:
|
||
|
build: ./mariadb
|
||
|
volumes:
|
||
|
- mariadb:/var/lib/mysql
|
||
|
environment:
|
||
|
- TZ
|
||
|
- MYSQL_ROOT_PASSWORD
|
||
|
- MYSQL_DATABASE
|
||
|
- MYSQL_USER
|
||
|
- MYSQL_PASSWORD
|
||
|
restart: always
|
||
|
networks:
|
||
|
openager.local:
|
||
|
|
||
|
# openAger phpMyAdmin
|
||
|
phpmyadmin:
|
||
|
image: phpmyadmin
|
||
|
ports:
|
||
|
- '${PHMMYADMIN_PORT}:80/tcp'
|
||
|
environment:
|
||
|
- PMA_HOST
|
||
|
restart: always
|
||
|
volumes:
|
||
|
- phpmyadmin:/sessions
|
||
|
networks:
|
||
|
openager.local:
|
||
|
|
||
|
# openAger influxDB
|
||
|
influxdb:
|
||
|
build: ./influxdb
|
||
|
volumes:
|
||
|
- influxdb:/var/lib/influxdb
|
||
|
environment:
|
||
|
- TZ
|
||
|
- INFLUXDB_ADMIN_USER
|
||
|
- INFLUXDB_ADMIN_PASSWORD
|
||
|
- INFLUXDB_USER
|
||
|
- INFLUXDB_USER_PASSWORD
|
||
|
- INFLUXDB_DB
|
||
|
restart: always
|
||
|
networks:
|
||
|
openager.local:
|
||
|
|
||
|
# openAger grafana
|
||
|
grafana:
|
||
|
build: ./grafana
|
||
|
ports:
|
||
|
- '${GRAFANA_PORT}:3000/tcp'
|
||
|
volumes:
|
||
|
- grafana:/etc/grafana
|
||
|
- grafana-storage:/var/lib/grafana
|
||
|
environment:
|
||
|
- TZ
|
||
|
- GRAFANA_VIRTUAL_HOST
|
||
|
- GRAFANA_LETSENCRYPT_EMAIL
|
||
|
- GRAFANA_LETSENCRYPT_HOST
|
||
|
restart: always
|
||
|
networks:
|
||
|
openager.local:
|
||
|
|
||
|
|
||
|
# Volume definitions
|
||
|
volumes:
|
||
|
node-red:
|
||
|
driver: local
|
||
|
mosquitto_cfg:
|
||
|
driver: local
|
||
|
mosquitto_log:
|
||
|
driver: local
|
||
|
mosquitto_data:
|
||
|
driver: local
|
||
|
mariadb:
|
||
|
driver: local
|
||
|
phpmyadmin:
|
||
|
driver: local
|
||
|
influxdb:
|
||
|
driver: local
|
||
|
grafana:
|
||
|
driver: local
|
||
|
grafana-storage:
|
||
|
driver: local
|
||
|
|
||
|
# Custom network so all services can communicate using a FQDN
|
||
|
networks:
|
||
|
openager.local:
|