testing a new full docker compsoe
This commit is contained in:
parent
fea9f46fbb
commit
1d9162a5f0
|
@ -0,0 +1,153 @@
|
|||
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
|
Loading…
Reference in New Issue