squeaknode/docker/docker-compose.yml

98 lines
1.9 KiB
YAML

version: '3'
services:
db:
image: postgres
container_name: db
environment:
- POSTGRES_DB=postgres
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
volumes:
- postgres_dir:/var/lib/postgresql/data
- ../createdb.sql:/docker-entrypoint-initdb.d/init.sql
btcd:
image: btcd
container_name: btcd
build:
context: ../
dockerfile: docker/btcd/Dockerfile
volumes:
- shared:/rpc
- bitcoin:/data
environment:
- NETWORK=testnet
entrypoint: ["./start-btcd.sh"]
lnd:
image: lnd
container_name: lnd
build:
context: ../
dockerfile: docker/lnd/Dockerfile
environment:
- NETWORK=testnet
- RPCHOST=btcd
volumes:
- shared:/rpc
- lnd_dir:/root/.lnd
links:
- "btcd:btcd"
entrypoint: ["./start-lnd.sh"]
sqkserver:
image: sqkserver
container_name: sqkserver
build:
context: ../
dockerfile: docker/sqkserver/Dockerfile
volumes:
- shared:/rpc
- lnd_dir:/root/.lnd
- ./config.ini:/app/config.ini
ports:
- 8774:8774
links:
- "btcd:btcd"
- "lnd:lnd"
depends_on:
- db
sysctls:
- net.ipv6.conf.all.disable_ipv6=0
entrypoint: ["./start-sqkserver.sh"]
envoy:
image: envoy
container_name: envoy
build:
context: ../
dockerfile: docker/envoy/Dockerfile
ports:
- 8080:8080
links:
- "sqkserver:sqkserver"
frontend:
image: frontend
container_name: frontend
build:
context: ../
dockerfile: docker/frontend/Dockerfile
ports:
- 8081:8081
volumes:
bitcoin:
driver: local
# shared volume is needed for sharing the btcd certificate
shared:
driver: local
# lnd_dir volume is needed for sharing the lnd tls certificate
lnd_dir:
driver: local
postgres_dir:
driver: local