154 lines
4.6 KiB
YAML
154 lines
4.6 KiB
YAML
version: "3.8"
|
|
|
|
services:
|
|
zebra:
|
|
image: zfnd/zebra
|
|
platform: linux/amd64
|
|
build:
|
|
context: ../
|
|
dockerfile: docker/Dockerfile
|
|
target: runtime
|
|
restart: unless-stopped
|
|
deploy:
|
|
resources:
|
|
reservations:
|
|
cpus: "4"
|
|
memory: 16G
|
|
depends_on:
|
|
prometheus:
|
|
condition: service_started
|
|
grafana:
|
|
condition: service_started
|
|
env_file:
|
|
- .zebra.env
|
|
# Change this to the commmand you want to run, respecting the entrypoint.sh
|
|
# For example, to run the tests, use the following command:
|
|
# command: ["cargo", "test", "--locked", "--release", "--features", "${TEST_FEATURES}", "--package", "zebrad", "--test", "acceptance", "--", "--nocapture", "--include-ignored", "sync_large_checkpoints_"]
|
|
#! Uncomment the following line to use a zebrad.toml from the host machine
|
|
# NOTE: This will override the zebrad.toml in the image and make some variables irrelevant
|
|
# configs:
|
|
# - source: zebra_config
|
|
# target: /etc/zebrad/zebrad.toml
|
|
# uid: '2001' # Rust's container default user uid
|
|
# gid: '2001' # Rust's container default group gid
|
|
# mode: 0440
|
|
volumes:
|
|
- zebrad-cache:/var/cache/zebrad-cache
|
|
- lwd-cache:/var/cache/lwd-cache
|
|
ports:
|
|
# Zebra uses the following inbound and outbound TCP ports
|
|
- "8232:8232" # Opens an RPC endpoint (for wallet storing and mining)
|
|
- "8233:8233" # Mainnet Network (for peer connections)
|
|
- "18233:18233" # Testnet Network
|
|
# - "9999:9999" # Metrics
|
|
# - "3000:3000" # Tracing
|
|
healthcheck:
|
|
start_period: 3m
|
|
interval: 15s
|
|
timeout: 10s
|
|
retries: 3
|
|
# test: ["CMD-SHELL", "curl --data-binary '{\"jsonrpc\": \"1.0\", \"id\":\"curltest\", \"method\": \"getblockchaininfo\", \"params\": [] }' -H 'content-type: application/json' http://127.0.0.1:8232/ || exit 1"]
|
|
|
|
lightwalletd:
|
|
image: electriccoinco/lightwalletd
|
|
platform: linux/amd64
|
|
depends_on:
|
|
zebra:
|
|
condition: service_started
|
|
restart: unless-stopped
|
|
deploy:
|
|
resources:
|
|
reservations:
|
|
cpus: "4"
|
|
memory: 16G
|
|
env_file:
|
|
- .lightwalletd.env
|
|
configs:
|
|
- source: lwd_config
|
|
target: /etc/lightwalletd/zcash.conf
|
|
volumes:
|
|
- litewalletd-data:/var/lib/lightwalletd/db
|
|
# This setup with --no-tls-very-insecure is only for testing purposes
|
|
#! For production environments follow the guidelines here: https://github.com/zcash/lightwalletd#production-usage
|
|
command: >
|
|
--no-tls-very-insecure
|
|
--grpc-bind-addr=0.0.0.0:9067
|
|
--http-bind-addr=0.0.0.0:9068
|
|
--zcash-conf-path=/etc/lightwalletd/zcash.conf
|
|
--data-dir=/var/lib/lightwalletd/db
|
|
--log-file=/dev/stdout
|
|
--log-level=7
|
|
ports:
|
|
- "9067:9067" # gRPC
|
|
- "9068:9068" # HTTP
|
|
|
|
prometheus:
|
|
image: prom/prometheus
|
|
configs:
|
|
- source: prometheus_config
|
|
target: /etc/prometheus/prometheus.yml
|
|
volumes:
|
|
- prometheus-data:/prometheus
|
|
command:
|
|
- '--config.file=/etc/prometheus/prometheus.yml'
|
|
- '--storage.tsdb.path=/prometheus'
|
|
- '--web.enable-lifecycle'
|
|
ports:
|
|
- "9090:9090"
|
|
healthcheck:
|
|
test: wget --no-verbose --tries=1 --spider http://localhost:9090/status || exit 1
|
|
start_period: 30s
|
|
interval: 10s
|
|
timeout: 15s
|
|
retries: 3
|
|
|
|
grafana:
|
|
image: grafana/grafana
|
|
volumes:
|
|
- grafana-data:/var/lib/grafana
|
|
- ../grafana/provisioning/:/etc/grafana/provisioning/
|
|
# environment:
|
|
# GF_SECURITY_ADMIN_PASSWORD: ${GF_SECURITY_ADMIN_PASSWORD}
|
|
depends_on:
|
|
prometheus:
|
|
condition: service_healthy
|
|
env_file:
|
|
- ../grafana/config.monitoring
|
|
ports:
|
|
- "3000:3000"
|
|
healthcheck:
|
|
test: wget --no-verbose --tries=1 --spider http://localhost:3000 || exit 1
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
|
|
configs:
|
|
zebra_config:
|
|
# Change the following line to point to a zebrad.toml on your host machine
|
|
# to allow for easy configuration changes without rebuilding the image
|
|
file: ../zebrad/tests/common/configs/v1.0.0-rc.2.toml/
|
|
|
|
lwd_config:
|
|
# Change the following line to point to a zcash.conf on your host machine
|
|
# to allow for easy configuration changes without rebuilding the image
|
|
file: ./zcash-lightwalletd/zcash.conf
|
|
|
|
prometheus_config:
|
|
file: ../prometheus.yaml
|
|
|
|
volumes:
|
|
zebrad-cache:
|
|
driver: local
|
|
|
|
lwd-cache:
|
|
driver: local
|
|
|
|
litewalletd-data:
|
|
driver: local
|
|
|
|
prometheus-data:
|
|
driver: local
|
|
|
|
grafana-data:
|
|
driver: local
|