version: '3' services: keeper: image: ${DOCKER_IMAGE} restart: unless-stopped env_file: .env command: "node ./lib/index.js --config-file=/app/config.yaml" volumes: - ./config.yaml:/app/config.yaml auto-swap: image: ${DOCKER_IMAGE_AUTO_SWAP} build: context: auto-swap env_file: .env.autoswap restart: unless-stopped wallet-tracker: image: ${DOCKER_IMAGE_WALLET_TRACKER} build: context: wallet-tracker env_file: .env restart: unless-stopped user-metrics: image: wirelos/user-metrics:0.1.0 env_file: .env.user-metrics restart: unless-stopped prometheus: image: prom/prometheus container_name: prometheus command: - '--config.file=/etc/prometheus/prometheus.yml' - '--web.config.file=/etc/prometheus/web.yml' ports: - 9090:9090 restart: unless-stopped volumes: - ./prometheus:/etc/prometheus - prom_data:/prometheus node-exporter: image: prom/node-exporter:latest container_name: node-exporter restart: unless-stopped volumes: - /proc:/host/proc:ro - /sys:/host/sys:ro - /:/rootfs:ro command: - '--path.procfs=/host/proc' - '--path.rootfs=/rootfs' - '--path.sysfs=/host/sys' - '--collector.filesystem.mount-points-exclude=^/(sys|proc|dev|host|etc)($$|/)' expose: - 9100 grafana: image: grafana/grafana container_name: grafana env_file: .env.monitoring ports: - 3000:3000 restart: unless-stopped volumes: - ./grafana/provisioning:/etc/grafana/provisioning - ./grafana/dashboards:/var/lib/grafana/dashboards volumes: prom_data: