Browse Source

working docker-compose

master
root 4 years ago
parent
commit
36a140d1b8
  1. 137
      docker-compose/docker-compose.yml
  2. 11
      docker-compose/grafana/provisioning/datasources/datasource.yml
  3. 5
      docker-compose/initdb/addusers.sql

137
docker-compose/docker-compose.yml

@ -11,59 +11,69 @@ volumes:
services:
prometheus:
image: prom/prometheus:v2.22.1
container_name: prometheus
volumes:
- ./prometheus:/etc/prometheus
- prometheus_data:/prometheus
command:
- '--config.file=/etc/prometheus/prometheus.yml'
- '--storage.tsdb.path=/prometheus'
- '--web.console.libraries=/etc/prometheus/console_libraries'
- '--web.console.templates=/etc/prometheus/consoles'
- '--storage.tsdb.retention.time=14d'
- '--web.enable-lifecycle'
restart: unless-stopped
expose:
- 9090
networks:
- monitor-net
labels:
org.label-schema.group: "monitoring"
alertmanager:
image: prom/alertmanager:v0.21.0
container_name: alertmanager
volumes:
- ./alertmanager:/etc/alertmanager
command:
- '--config.file=/etc/alertmanager/config.yml'
- '--storage.path=/alertmanager'
restart: unless-stopped
expose:
- 9093
networks:
- monitor-net
labels:
org.label-schema.group: "monitoring"
# prometheus:
# image: prom/prometheus:v2.22.1
# container_name: prometheus
# volumes:
# - ./prometheus:/etc/prometheus
# - prometheus_data:/prometheus
# command:
# - '--config.file=/etc/prometheus/prometheus.yml'
# - '--storage.tsdb.path=/prometheus'
# - '--web.console.libraries=/etc/prometheus/console_libraries'
# - '--web.console.templates=/etc/prometheus/consoles'
# - '--storage.tsdb.retention.time=14d'
# - '--web.enable-lifecycle'
# restart: unless-stopped
# expose:
# - 9090
# networks:
# - monitor-net
# labels:
# org.label-schema.group: "monitoring"
#
# alertmanager:
# image: prom/alertmanager:v0.21.0
# container_name: alertmanager
# volumes:
# - ./alertmanager:/etc/alertmanager
# command:
# - '--config.file=/etc/alertmanager/config.yml'
# - '--storage.path=/alertmanager'
# restart: unless-stopped
# expose:
# - 9093
# networks:
# - monitor-net
# labels:
# org.label-schema.group: "monitoring"
grafana:
image: grafana/grafana:7.3.1
image: grafana/grafana:7.3.4
container_name: grafana
volumes:
- grafana_data:/var/lib/grafana
- ./grafana/provisioning:/etc/grafana/provisioning
environment:
- GF_AUTH_PROXY_ENABLED=true
- GF_AUTH_PROXY_HEADER_NAME=X-Proxy-Station
- GF_AUTH_PROXY_HEADER_PROPERTY_username
- GF_AUTH_PROXY_AUTO_SIGN_UP=true
- GF_AUTH_PROXY_SYNC_TTL=60
- GF_INSTALL_PLUGINS=grafana-worldmap-panel,michaeldmoore-multistat-panel
- GF_LOG_FILTERS='rendering:debug'
- GF_RENDERING_SERVER_URL=http://grafana-image-renderer:8081/render
- GF_RENDERING_CALLBACK_URL=http://grafana:3000/
- GF_SECURITY_ADMIN_USER=${ADMIN_USER:-admin}
- GF_SECURITY_ADMIN_PASSWORD=${ADMIN_PASSWORD:-admin}
- GF_SERVER_DOMAIN=cloud.ixyd.net
- GF_SERVER_ROOT_URL=https://cloud.ixyd.net/grafana
- GF_USERS_ALLOW_SIGN_UP=false
- GF_RENDERING_SERVER_URL=http://grafana-image-renderer:8081/render
- GF_RENDERING_CALLBACK_URL=http://grafana:3000/
- GF_LOG_FILTERS='rendering:debug'
- GF_USERS_AUTO_ASSIGN_ORG=true
- GF_USERS_AUTO_ASSIGN_ORG_ROLE=Editor
restart: unless-stopped
expose:
- 3001
ports:
- "3001:3000"
networks:
- monitor-net
labels:
@ -84,31 +94,30 @@ services:
# labels:
# org.label-schema.group: "monitoring"
grafana-image-renderer:
image: grafana/grafana-image-renderer:latest
container_name: grafana-image-renderer
expose:
- 8081
environment:
- ENABLE_METRICS=true
- HTTP_HOST=grafana-image-renderer
- LOG_LEVEL=debug
restart: unless-stopped
networks:
- monitor-net
labels:
org.label-schema.group: "monitoring"
# grafana-image-renderer:
# image: grafana/grafana-image-renderer:latest
# container_name: grafana-image-renderer
# expose:
# - 8081
# environment:
# - ENABLE_METRICS=true
# - HTTP_HOST=grafana-image-renderer
# - LOG_LEVEL=debug
# restart: unless-stopped
# networks:
# - monitor-net
# labels:
# org.label-schema.group: "monitoring"
#
db:
image: mysql:8
container_name: db
# cpus: 4.0
cap_add:
- SYS_NICE
expose:
- 3306
volumes:
- db_data:/var/lib/mysql
- ./initdb:/docker-entrypoint-initdb.d
- ./shared:/shared
restart: always
environment:
@ -127,8 +136,6 @@ services:
restart: always
environment:
- DATA_SOURCE_NAME=root:verysecret@(db:3306)/digimode_stats
expose:
- 9104
networks:
- monitor-net
labels:
@ -137,8 +144,8 @@ services:
wsjtx-exporter:
image: 10.0.73.1:5000/wsjtx-exporter:latest
container_name: wsjtx-exporter
expose:
- 9888
ports:
- "4000:4000"
environment:
- PROMETHEUS=true
- MYSQL=true
@ -149,11 +156,9 @@ services:
labels:
org.label-schema.group: "monitoring"
pskreporter_exporter:
pskreporter-exporter:
image: 10.0.73.1:5000/pskreporter-exporter:latest
container_name: pskreporter-exporter
expose:
- 9889
environment:
- PROMETHEUS=true
- MYSQL=true

11
docker-compose/grafana/provisioning/datasources/datasource.yml

@ -11,9 +11,8 @@ datasources:
editable: true
- name: MySQL
type: mysql
access: direct
orgId: 1
url: mysql://stationmonitor:secret@db:3306/digimode_stats
basicAuth: false
isDefault: false
editable: true
url: db:3306
database: digimode_stats
user: stationmonitor
secureJsonData:
password: secret

5
docker-compose/initdb/addusers.sql

@ -0,0 +1,5 @@
create user 'http'@'%' identified by 'httppw';
grant select on digimode_stats.* to 'http'@'%';
create user 'grafana'@'%' identified by 'grafanapw';
grant select on digimode_stats.* to 'grafana'@'%';
Loading…
Cancel
Save