version: "3.8" services: zebra: ports: - "8232:8232" # Opens an RPC endpoint (for lightwalletd and mining) healthcheck: start_period: 1m interval: 15s timeout: 10s retries: 3 test: ["CMD-SHELL", "curl --data-binary '{\"id\":\"curltest\", \"method\": \"getinfo\"}' -H 'content-type: application/json' 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 environment: - LWD_GRPC_PORT=9067 - LWD_HTTP_PORT=9068 configs: - source: lwd_config target: /etc/lightwalletd/zcash.conf uid: '2002' # Golang's container default user uid gid: '2002' # Golang's container default group gid mode: 0440 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 configs: 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 volumes: litewalletd-data: driver: local