Docker compose file for Grafana
version: "2.4"
name: grafana-example-com
services:
grafana:
image: grafana/grafana:latest-ubuntu
container_name: grafana.example.com
restart: always
user: www-data
network_mode: host
volumes:
- ./conf:/etc/grafana
- ./data:/var/lib/grafana
ports:
- 3000:3000
labels:
- com.centurylinklabs.watchtower.enable=true
Grafana configuration file
# Grafana config file for https://dashboard.dev.example.com
# Filename: /srv/dashboard.dev.example.com/grafana-conf/grafana.ini
#
# Uses only Google Authentication domain restricted to omnyk.com
# MariaDB is used for metadata storage
[server]
#http_port = 80
#domain = dev.example.com
#enforce_domain = true
root_url = 'https://dashboard.dev.example.com'
[database]
type = mysql
host = mysql
name = dashboard
user = dashboard
password = Zwxz2YIUU1s9mhs3
; [smtp]
; enabled = true
; ehlo_identity = dashboard.dev.example.com
; host =
; user =
; password =
; from_address =
; from_name = 'Dashboard'
; skip_verify = false
; #startTLS_policy = MandatoryStartTLS
; tls_skip_verify_insecure = false
[analytics]
reporting_enabled = false
[security]
cookie_secure = true
admin_user = admin
[users]
allow_sign_up = false
allow_org_create = false
auto_assign_org = true
auto_assign_org_id = 1
auto_assign_org_role = Viewer
default_theme = light
[auth]
disable_login_form = true
; TODO, signout_redirect_url needs to be checked
; oauth_auto_login = true
; signout_redirect_url =
[auth.google]
enabled = false
allow_sign_up = false
allowed_domains =
client_id =
client_secret =
scopes = https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email
auth_url = https://accounts.google.com/o/oauth2/auth
token_url = https://accounts.google.com/o/oauth2/token
[date_formats]
defautl_timezone = Asia/Kolkata
[panels]
; need this to load photos via embedded html img tags
disable_sanitize_html = true
Docker compose file for MySQL
version: "2.4"
name: mysql-dev-example-com
services:
mysql:
image: mysql:8.3
container_name: mysql.dev.example.com
restart: always
environment:
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- MYSQL_DATABASE=${MYSQL_DATABASE}
- MYSQL_USER=${MYSQL_USER}
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
volumes:
- ./mysql-data:/var/lib/mysql
- ./mysql-conf/my.cnf:/root/.my.cnf
ports:
- "3306:3306"
labels:
- com.centurylinklabs.watchtower.enable=true
MySQL my.cnf file
[mysql]
user=root
password=9NZXo34631MN2I2E0p07
[mysqldump]
user=root
password=9NZXo34631MN2I2E0p07
.env file for MySQL
# Mysql Database
MYSQL_ROOT_PASSWORD=9NZXo34631MN2I2E0p07
MYSQL_DATABASE=dashboard
MYSQL_USER=dashboard
MYSQL_PASSWORD=ndsbnsfjdnbkjfshZJBHJBads
Docker compose file for InfluxDB
version: "2.4"
name: influxdb-example-com
services:
influxdb:
image: influxdb:latest
container_name: influxdb.example.com
restart: always
ports:
- "8086:8086"
volumes:
- "./influxdb-data:/var/lib/influxdb"
environment:
- INFLUXDB_ADMIN_USER_PASSWORD=${INFLUXDB_ADMIN_USER_PASSWORD}
- INFLUXDB_USER=${INFLUXDB_USER}
- INFLUXDB_USER_PASSWORD=${INFLUXDB_USER_PASSWORD}
- INFLUXDB_DB=${INFLUXDB_DB}
- INFLUXDB_HTTP_READINESS_TIMEOUT=${INFLUXDB_HTTP_READINESS_TIMEOUT}
.env file for InfluxDB
INFLUXDB_ADMIN_USER_PASSWORD=influxdb@123
INFLUXDB_USER=influxdb
INFLUXDB_USER_PASSWORD=influxdb@123
INFLUXDB_DB=influxdb
INFLUXDB_HTTP_READINESS_TIMEOUT=30
Docker compose file for Node-RED
version: "2.4"
name: nodered-example-com
services:
node-red:
image: nodered/node-red:latest
container_name: nodered.example.com
ports:
- "1880:1880"
volumes:
- "./node-red-data:/data"
labels:
- com.centurylinklabs.watchtower.enable=true