services: canto: image: andremiras/canto:${VERSION:-8.1.3}-managed restart: unless-stopped ports: # Cosmos REST API - "1317:1317" # Ethereum JSON-RPC - "8545:8545" # Ethereum WebSocket - "8546:8546" # Cosmos gRPC - "9090:9090" # Cosmos gRPC-web - "9091:9091" # Tendermint P2P - "26656:26656" # Tendermint RPC - "26657:26657" volumes: - ./data:/root/.cantod/data env_file: - .env traefik: image: traefik:v3.6 profiles: - proxy restart: unless-stopped command: # Entrypoints - --entrypoints.cosmos-rest.address=:1317 - --entrypoints.evm-rpc.address=:8545 - --entrypoints.evm-ws.address=:8546 - --entrypoints.cosmos-grpc.address=:9090 - --entrypoints.cosmos-grpc-web.address=:9091 - --entrypoints.tendermint-rpc.address=:26657 - --entrypoints.metrics.address=:8899 # Providers - --providers.file.filename=/etc/traefik/dynamic.yml - --providers.file.watch=true # Prometheus metrics - --metrics.prometheus=true - --metrics.prometheus.entrypoint=metrics - --metrics.prometheus.addentrypointslabels=true - --metrics.prometheus.addrouterslabels=true - --metrics.prometheus.addserviceslabels=true # Logging - --accesslog=${TRAEFIK_ACCESS_LOG:-false} - --log.level=${TRAEFIK_LOG_LEVEL:-ERROR} ports: # Cosmos REST API (proxied) - "${TRAEFIK_COSMOS_REST_PORT:-11317}:1317" # Ethereum JSON-RPC (proxied) - "${TRAEFIK_EVM_RPC_PORT:-18545}:8545" # Ethereum WebSocket (proxied) - "${TRAEFIK_EVM_WS_PORT:-18546}:8546" # Cosmos gRPC (proxied) - "${TRAEFIK_COSMOS_GRPC_PORT:-19091}:9090" # Cosmos gRPC-web (proxied) - "${TRAEFIK_COSMOS_GRPC_WEB_PORT:-19092}:9091" # Tendermint RPC (proxied) - "${TRAEFIK_TENDERMINT_RPC_PORT:-36657}:26657" # Traefik Prometheus metrics - "${TRAEFIK_METRICS_PORT:-8899}:8899" env_file: - .env volumes: - ./config/etc/traefik/dynamic.yml:/etc/traefik/dynamic.yml:ro node-exporter: image: prom/node-exporter:v1.9.1 profiles: - monitoring restart: unless-stopped pid: host command: - --path.rootfs=/host volumes: - /:/host:ro,rslave prometheus: image: prom/prometheus:v3.11.1 profiles: - monitoring restart: unless-stopped ports: - "19090:9090" volumes: - prometheus_data:/prometheus - ./config/etc/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml grafana: image: grafana/grafana:12.4.2 profiles: - monitoring restart: unless-stopped ports: - "3000:3000" volumes: - grafana_data:/var/lib/grafana - ./config/etc/grafana/provisioning/dashboards:/etc/grafana/provisioning/dashboards - ./config/etc/grafana/provisioning/datasources:/etc/grafana/provisioning/datasources env_file: - .env volumes: prometheus_data: grafana_data: