mirror of
https://github.com/pezkuwichain/pezkuwi-validator-v1.0.0.git
synced 2026-04-30 13:07:57 +00:00
a5532af65f
- Created Dockerfile with multi-stage build - Added docker-compose.yml with validator service - Integrated Prometheus and Grafana monitoring (optional) - Health checks and automatic restarts - Volume management for data persistence - Comprehensive Docker README with troubleshooting - Updated main README with Docker instructions Docker setup features: - One-command deployment - Auto-restart on failure - Built-in monitoring stack - Production-ready configuration - Easy backup and restore
83 lines
1.9 KiB
YAML
83 lines
1.9 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
pezkuwi-validator:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
container_name: pezkuwi-validator
|
|
restart: unless-stopped
|
|
ports:
|
|
- "30333:30333" # P2P
|
|
- "9944:9944" # RPC
|
|
- "9615:9615" # Prometheus metrics
|
|
volumes:
|
|
- validator-data:/pezkuwi/data
|
|
- ./chain-spec.json:/pezkuwi/chain-spec.json:ro
|
|
environment:
|
|
- RUST_LOG=info
|
|
command: [
|
|
"--chain", "/pezkuwi/chain-spec.json",
|
|
"--base-path", "/pezkuwi/data",
|
|
"--validator",
|
|
"--name", "Docker-Validator",
|
|
"--port", "30333",
|
|
"--rpc-port", "9944",
|
|
"--rpc-cors", "all",
|
|
"--rpc-external",
|
|
"--rpc-methods=unsafe",
|
|
"--prometheus-external",
|
|
"--prometheus-port", "9615"
|
|
]
|
|
networks:
|
|
- pezkuwi-network
|
|
logging:
|
|
driver: "json-file"
|
|
options:
|
|
max-size: "10m"
|
|
max-file: "3"
|
|
|
|
# Optional: Prometheus monitoring
|
|
prometheus:
|
|
image: prom/prometheus:latest
|
|
container_name: pezkuwi-prometheus
|
|
restart: unless-stopped
|
|
ports:
|
|
- "9090:9090"
|
|
volumes:
|
|
- ./prometheus.yml:/etc/prometheus/prometheus.yml:ro
|
|
- prometheus-data:/prometheus
|
|
command:
|
|
- '--config.file=/etc/prometheus/prometheus.yml'
|
|
- '--storage.tsdb.path=/prometheus'
|
|
networks:
|
|
- pezkuwi-network
|
|
profiles:
|
|
- monitoring
|
|
|
|
# Optional: Grafana dashboard
|
|
grafana:
|
|
image: grafana/grafana:latest
|
|
container_name: pezkuwi-grafana
|
|
restart: unless-stopped
|
|
ports:
|
|
- "3000:3000"
|
|
volumes:
|
|
- grafana-data:/var/lib/grafana
|
|
environment:
|
|
- GF_SECURITY_ADMIN_PASSWORD=pezkuwi123
|
|
- GF_USERS_ALLOW_SIGN_UP=false
|
|
networks:
|
|
- pezkuwi-network
|
|
profiles:
|
|
- monitoring
|
|
|
|
volumes:
|
|
validator-data:
|
|
prometheus-data:
|
|
grafana-data:
|
|
|
|
networks:
|
|
pezkuwi-network:
|
|
driver: bridge
|