-
Notifications
You must be signed in to change notification settings - Fork 9
/
docker-compose.yml
130 lines (130 loc) · 4.22 KB
/
docker-compose.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
version: "3"
services:
integration-deps:
image: busybox
depends_on:
- postgres
- bitcoind
- bitcoind-signer
- lnd
- otel-agent
- fulcrum
- mempool
postgres:
image: postgres:14.1
environment:
- POSTGRES_USER=user
- POSTGRES_PASSWORD=password
- POSTGRES_DB=pg
healthcheck:
test: [ "CMD-SHELL", "pg_isready" ]
interval: 5s
timeout: 5s
retries: 5
e2e-tests:
image: us.gcr.io/galoy-org/rust-concourse
depends_on:
- postgres
command: [ "make", "e2e-tests-in-container" ]
working_dir: /repo
volumes:
- ./:/repo
- /var/run/docker.sock:/var/run/docker.sock
- cargo-cache:/usr/local/cargo
- cargo-target:/usr/local/cargo-target
environment:
- HOST_PROJECT_PATH=${PWD}
- BRIA_HOME=/bria
- COMPOSE_PROJECT_NAME=${COMPOSE_PROJECT_NAME}
- BRIA_CONFIG=docker
- RUST_LOG=error
- DATABASE_URL=postgres://user:password@postgres:5432/pg
- PG_CON=postgres://user:password@postgres:5432/pg
- PG_HOST=postgres
- BITCOIND_HOST=bitcoind
- BITCOIND_SIGNER_ENDPOINT=https://bitcoind-signer:18443
- LND_HOST=lnd
- ELECTRUM_HOST=fulcrum
- CARGO_TARGET_DIR=/usr/local/cargo-target
integration-tests:
image: us.gcr.io/galoy-org/rust-concourse
depends_on:
- integration-deps
command: [ "make", "integration-tests-in-container" ]
environment:
- DATABASE_URL=postgres://user:password@postgres:5432/pg
- PG_HOST=postgres
- BITCOIND_HOST=bitcoind
- BITCOIND_SIGNER_ENDPOINT=https://bitcoind-signer:18443
- LND_HOST=lnd
- ELECTRUM_HOST=fulcrum
- CARGO_TARGET_DIR=/usr/local/cargo-target
working_dir: /repo
volumes:
- ./:/repo
- cargo-cache:/usr/local/cargo
- cargo-target:/usr/local/cargo-target
otel-agent:
image: otel/opentelemetry-collector-contrib:0.57.2
command: [ "--config=/etc/otel-agent-config.yaml" ]
environment:
- HONEYCOMB_DATASET=${HONEYCOMB_DATASET}
- HONEYCOMB_API_KEY=${HONEYCOMB_API_KEY}
volumes:
- ./dev/otel-agent-config.yaml:/etc/otel-agent-config.yaml
bitcoind:
image: lncm/bitcoind:v24.0.1
volumes:
- ${HOST_PROJECT_PATH:-.}/dev/bitcoind/bitcoin.conf:/data/.bitcoin/bitcoin.conf
bitcoind-signer:
image: lncm/bitcoind:v24.0.1
volumes:
- ${HOST_PROJECT_PATH:-.}/dev/bitcoind/bitcoin.conf:/data/.bitcoin/bitcoin.conf
depends_on: [ bitcoind ]
entrypoint: [ "/bin/sh", "-c" ]
command:
- |
bitcoind -connect=bitcoind:18444
lnd:
image: lightninglabs/lnd:v0.15.4-beta
volumes:
- ${HOST_PROJECT_PATH:-.}/dev/lnd/lnd.conf:/root/.lnd/lnd.conf
- ${HOST_PROJECT_PATH:-.}/dev/lnd/tls.key:/root/.lnd/tls.key
- ${HOST_PROJECT_PATH:-.}/dev/lnd/tls.cert:/root/.lnd/tls.cert
- ${HOST_PROJECT_PATH:-.}/dev/lnd/regtest/lnd.wallet.db:/root/.lnd/wallet.db
- ${HOST_PROJECT_PATH:-.}/dev/lnd/regtest/lnd.macaroons.db:/root/.lnd/macaroons.db
- ${HOST_PROJECT_PATH:-.}/dev/lnd/regtest/lnd.admin.macaroon:/root/.lnd/admin.macaroon
depends_on: [ bitcoind ]
entrypoint: [ "/bin/sh", "-c" ]
command:
- |
mkdir -p /root/.lnd/data/chain/bitcoin/regtest/
cp /root/.lnd/wallet.db /root/.lnd/data/chain/bitcoin/regtest/wallet.db
cp /root/.lnd/macaroons.db /root/.lnd/data/chain/bitcoin/regtest/macaroons.db
cp /root/.lnd/admin.macaroon /root/.lnd/data/chain/bitcoin/regtest/admin.macaroon
/bin/lnd
fulcrum:
image: cculianu/fulcrum:latest
depends_on: [ bitcoind ]
volumes:
- ${HOST_PROJECT_PATH:-.}/dev/fulcrum/fulcrum.conf:/fulcrum.conf
- ${HOST_PROJECT_PATH:-.}/dev/fulcrum/tls.key:/tls.key
- ${HOST_PROJECT_PATH:-.}/dev/fulcrum/tls.cert:/tls.cert
environment:
- DATA_DIR=/db
- SSL_CERTFILE=/tls.cert
- SSL_KEYFILE=/tls.key
command: [ "Fulcrum", "/fulcrum.conf" ]
mempool:
image: mempool/backend
depends_on: [ bitcoind ]
environment:
MEMPOOL_BACKEND: "none"
CORE_RPC_HOST: bitcoind
CORE_RPC_PORT: "18443"
CORE_RPC_USERNAME: "rpcuser"
CORE_RPC_PASSWORD: "rpcpassword"
DATABASE_ENABLED: "false"
volumes:
cargo-cache:
cargo-target: