|
|
|
version: '3'
|
|
|
|
volumes:
|
|
|
|
grafana:
|
|
|
|
prometheus:
|
|
|
|
services:
|
|
|
|
prometheus:
|
|
|
|
image: prom/prometheus:v2.18.0
|
|
|
|
container_name: prometheus
|
|
|
|
restart: unless-stopped
|
|
|
|
command:
|
|
|
|
- --config.file=/etc/prometheus/prometheus.yml
|
|
|
|
- --storage.tsdb.path=/prometheus
|
|
|
|
- --web.console.libraries=/usr/share/prometheus/console_libraries
|
|
|
|
- --web.console.templates=/usr/share/prometheus/consoles
|
|
|
|
- --web.enable-admin-api
|
|
|
|
- --storage.tsdb.retention.time=180d
|
|
|
|
volumes:
|
|
|
|
- prometheus:/prometheus
|
|
|
|
- ./files/prometheus:/etc/prometheus
|
|
|
|
ports:
|
|
|
|
- 127.0.0.1:9090:9090
|
|
|
|
grafana:
|
|
|
|
image: grafana/grafana:6.5.0
|
|
|
|
container_name: grafana
|
|
|
|
restart: unless-stopped
|
|
|
|
ports:
|
|
|
|
- 127.0.0.1:3000:3000
|
|
|
|
environment:
|
|
|
|
HOSTNAME: grafana
|
|
|
|
GF_SERVER_ROOT_URL: "${GRAFANA_URL}"
|
|
|
|
GF_ANALYTICS_REPORTING_ENABLED: "false"
|
|
|
|
GF_ANALYTICS_CHECK_FOR_UPDATES: "false"
|
|
|
|
GF_USERS_ALLOW_SIGN_UP: "false"
|
|
|
|
GF_USERS_ALLOW_ORG_CREATE: "false"
|
|
|
|
GF_AUTH_ANONYMOUS_ENABLED: "${GF_AUTH_ANONYMOUS_ENABLED:-true}"
|
|
|
|
GF_AUTH_BASIC_ENABLED: "${GF_AUTH_BASIC_ENABLED:-false}"
|
|
|
|
GF_AUTH_DISABLE_LOGIN_FORM: "${GF_AUTH_DISABLE_LOGIN_FORM:-true}"
|
|
|
|
GF_SECURITY_ADMIN_PASSWORD: "${GF_SECURITY_ADMIN_PASSWORD}"
|
|
|
|
GF_SECURITY_ADMIN_USER: "${GF_SECURITY_ADMIN_USER}"
|
|
|
|
GF_INSTALL_PLUGINS: "${GF_INSTALL_PLUGINS}"
|
|
|
|
volumes:
|
|
|
|
- ./files/grafana/dashboards.yaml:/etc/grafana/provisioning/dashboards/default.yaml:ro
|
|
|
|
- ./files/grafana/prometheus.yaml:/etc/grafana/provisioning/datasources/prometheus.yaml:ro
|
|
|
|
- ./files/grafana/daemon_metrics.json:/var/lib/grafana/dashboards/daemon_metrics.json:ro
|
|
|
|
- grafana:/var/lib/grafana
|
|
|
|
exporter:
|
|
|
|
container_name: exporter
|
|
|
|
build:
|
|
|
|
context: dockerfiles
|
|
|
|
dockerfile: monerod_exporter
|
|
|
|
restart: unless-stopped
|
|
|
|
environment:
|
|
|
|
DAEMON_HOST: http://monerod:18083
|
|
|
|
PORT: 8080
|
|
|
|
ports:
|
|
|
|
- 127.0.0.1:8080:8080
|
|
|
|
monerod:
|
|
|
|
container_name: monerod
|
|
|
|
build:
|
|
|
|
context: dockerfiles
|
|
|
|
dockerfile: monero_nocompile
|
|
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
|
|
- ${DATA_DIR:-./data}:/data
|
|
|
|
ports:
|
|
|
|
- ${P2P_PORT:-18080}:18080 # p2p
|
|
|
|
- ${RESTRICTED_PORT:-18081}:18081 # restricted rpc
|
|
|
|
- 127.0.0.1:${ZMQ_PORT:-18082}:18082 # zmq
|
|
|
|
- 127.0.0.1:${UNRESTRICTED_PORT:-18083}:18083 # unrestricted rpc
|
|
|
|
command:
|
|
|
|
monerod --data-dir=/data --p2p-bind-ip=0.0.0.0 --p2p-bind-port=18080 --rpc-restricted-bind-ip=0.0.0.0 --rpc-restricted-bind-port=18081 --zmq-rpc-bind-ip=0.0.0.0 --zmq-rpc-bind-port=18082 --rpc-bind-ip=0.0.0.0 --rpc-bind-port=18083 --non-interactive --confirm-external-bind --public-node --log-level=0 --enable-dns-blocklist
|