Browse Source

working docker-compose

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

139
docker-compose/docker-compose.yml

@ -11,59 +11,69 @@ volumes:
services: services:
prometheus: # prometheus:
image: prom/prometheus:v2.22.1 # image: prom/prometheus:v2.22.1
container_name: prometheus # container_name: prometheus
volumes: # volumes:
- ./prometheus:/etc/prometheus # - ./prometheus:/etc/prometheus
- prometheus_data:/prometheus # - prometheus_data:/prometheus
command: # command:
- '--config.file=/etc/prometheus/prometheus.yml' # - '--config.file=/etc/prometheus/prometheus.yml'
- '--storage.tsdb.path=/prometheus' # - '--storage.tsdb.path=/prometheus'
- '--web.console.libraries=/etc/prometheus/console_libraries' # - '--web.console.libraries=/etc/prometheus/console_libraries'
- '--web.console.templates=/etc/prometheus/consoles' # - '--web.console.templates=/etc/prometheus/consoles'
- '--storage.tsdb.retention.time=14d' # - '--storage.tsdb.retention.time=14d'
- '--web.enable-lifecycle' # - '--web.enable-lifecycle'
restart: unless-stopped # restart: unless-stopped
expose: # expose:
- 9090 # - 9090
networks: # networks:
- monitor-net # - monitor-net
labels: # labels:
org.label-schema.group: "monitoring" # org.label-schema.group: "monitoring"
#
alertmanager: # alertmanager:
image: prom/alertmanager:v0.21.0 # image: prom/alertmanager:v0.21.0
container_name: alertmanager # container_name: alertmanager
volumes: # volumes:
- ./alertmanager:/etc/alertmanager # - ./alertmanager:/etc/alertmanager
command: # command:
- '--config.file=/etc/alertmanager/config.yml' # - '--config.file=/etc/alertmanager/config.yml'
- '--storage.path=/alertmanager' # - '--storage.path=/alertmanager'
restart: unless-stopped # restart: unless-stopped
expose: # expose:
- 9093 # - 9093
networks: # networks:
- monitor-net # - monitor-net
labels: # labels:
org.label-schema.group: "monitoring" # org.label-schema.group: "monitoring"
grafana: grafana:
image: grafana/grafana:7.3.1 image: grafana/grafana:7.3.4
container_name: grafana container_name: grafana
volumes: volumes:
- grafana_data:/var/lib/grafana - grafana_data:/var/lib/grafana
- ./grafana/provisioning:/etc/grafana/provisioning - ./grafana/provisioning:/etc/grafana/provisioning
environment: 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_USER=${ADMIN_USER:-admin}
- GF_SECURITY_ADMIN_PASSWORD=${ADMIN_PASSWORD:-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_USERS_ALLOW_SIGN_UP=false
- GF_RENDERING_SERVER_URL=http://grafana-image-renderer:8081/render - GF_USERS_AUTO_ASSIGN_ORG=true
- GF_RENDERING_CALLBACK_URL=http://grafana:3000/ - GF_USERS_AUTO_ASSIGN_ORG_ROLE=Editor
- GF_LOG_FILTERS='rendering:debug'
restart: unless-stopped restart: unless-stopped
expose: ports:
- 3001 - "3001:3000"
networks: networks:
- monitor-net - monitor-net
labels: labels:
@ -84,37 +94,36 @@ services:
# labels: # labels:
# org.label-schema.group: "monitoring" # org.label-schema.group: "monitoring"
grafana-image-renderer: # grafana-image-renderer:
image: grafana/grafana-image-renderer:latest # image: grafana/grafana-image-renderer:latest
container_name: grafana-image-renderer # container_name: grafana-image-renderer
expose: # expose:
- 8081 # - 8081
environment: # environment:
- ENABLE_METRICS=true # - ENABLE_METRICS=true
- HTTP_HOST=grafana-image-renderer # - HTTP_HOST=grafana-image-renderer
- LOG_LEVEL=debug # - LOG_LEVEL=debug
restart: unless-stopped # restart: unless-stopped
networks: # networks:
- monitor-net # - monitor-net
labels: # labels:
org.label-schema.group: "monitoring" # org.label-schema.group: "monitoring"
#
db: db:
image: mysql:8 image: mysql:8
container_name: db container_name: db
# cpus: 4.0 # cpus: 4.0
cap_add: cap_add:
- SYS_NICE - SYS_NICE
expose:
- 3306
volumes: volumes:
- db_data:/var/lib/mysql - db_data:/var/lib/mysql
- ./initdb:/docker-entrypoint-initdb.d
- ./shared:/shared - ./shared:/shared
restart: always restart: always
environment: environment:
MYSQL_ROOT_PASSWORD: verysecret MYSQL_ROOT_PASSWORD: verysecret
MYSQL_DATABASE: digimode_stats MYSQL_DATABASE: digimode_stats
MYSQL_USER: stationmonitor MYSQL_USER: stationmonitor
MYSQL_PASSWORD: secret MYSQL_PASSWORD: secret
networks: networks:
- monitor-net - monitor-net
@ -127,8 +136,6 @@ services:
restart: always restart: always
environment: environment:
- DATA_SOURCE_NAME=root:verysecret@(db:3306)/digimode_stats - DATA_SOURCE_NAME=root:verysecret@(db:3306)/digimode_stats
expose:
- 9104
networks: networks:
- monitor-net - monitor-net
labels: labels:
@ -137,8 +144,8 @@ services:
wsjtx-exporter: wsjtx-exporter:
image: 10.0.73.1:5000/wsjtx-exporter:latest image: 10.0.73.1:5000/wsjtx-exporter:latest
container_name: wsjtx-exporter container_name: wsjtx-exporter
expose: ports:
- 9888 - "4000:4000"
environment: environment:
- PROMETHEUS=true - PROMETHEUS=true
- MYSQL=true - MYSQL=true
@ -149,11 +156,9 @@ services:
labels: labels:
org.label-schema.group: "monitoring" org.label-schema.group: "monitoring"
pskreporter_exporter: pskreporter-exporter:
image: 10.0.73.1:5000/pskreporter-exporter:latest image: 10.0.73.1:5000/pskreporter-exporter:latest
container_name: pskreporter-exporter container_name: pskreporter-exporter
expose:
- 9889
environment: environment:
- PROMETHEUS=true - PROMETHEUS=true
- MYSQL=true - MYSQL=true

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

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

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