version: '3' volumes: grafana: prometheus: tor: 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 tor: container_name: monerod_tor build: context: dockerfiles dockerfile: tor restart: unless-stopped ports: - 127.0.0.1:9051:9051 volumes: - tor:/var/lib/tor networks: monero: ipv4_address: 172.96.0.15 monerod: container_name: monerod build: context: dockerfiles dockerfile: monero_nocompile restart: unless-stopped volumes: - ${DATA_DIR:-./data}:/data networks: monero: ipv4_address: 172.96.0.20 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 --tx-proxy tor,172.96.0.15:9051 networks: monero: driver: bridge ipam: driver: default config: - subnet: 172.96.0.0/16