Run in main docker (#113)

* Docker-compose in main docker folder working

* Fix rpc host in start lnd script

* Remove link alias for btcd in btcctl

* Remove docker-compose links alias for btcd in lnd container

* Remove unused open ports in itest docker-compose

* Remove unused environment variabls from itest docker-compose

* Fix port conflicts between itest and docker docker foler docker-compose containers
This commit is contained in:
Jonathan Zernik 2020-07-21 20:48:52 -07:00 committed by GitHub
parent bd100c3006
commit 3d8a77cdaa
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 90 additions and 69 deletions

View file

@ -36,8 +36,6 @@ COPY --from=builder /go/bin/gencerts /bin/
COPY "docker/btcd/start-btcctl.sh" .
COPY "docker/btcd/start-btcd.sh" .
RUN "/bin/gencerts" -h
RUN apk add --no-cache \
bash \
ca-certificates \
@ -47,7 +45,7 @@ RUN apk add --no-cache \
&& chmod +x start-btcd.sh \
# Manually generate certificate and add all domains, it is needed to connect
# "btcctl" and "lnd" to "btcd" over docker links.
&& "/bin/gencerts" --host="btcd" --host="rpcserver" --host="blockchain" --directory="/rpc" --force
&& "/bin/gencerts" --host="btcd" --directory="/rpc" --force
# Create a volume to house pregenerated RPC credentials. This will be
# shared with any lnd, btcctl containers so they can securely query btcd's RPC

View file

@ -39,6 +39,7 @@ set_default() {
}
# Set default variables if needed.
RPCHOST=$(set_default "$RPCHOST" "localhost")
RPCUSER=$(set_default "$RPCUSER" "devuser")
RPCPASS=$(set_default "$RPCPASS" "devpass")
NETWORK=$(set_default "$NETWORK" "simnet")
@ -50,9 +51,9 @@ fi
PARAMS=$(echo $PARAMS \
"--rpccert=/rpc/rpc.cert" \
"--rpcserver=$RPCHOST" \
"--rpcuser=$RPCUSER" \
"--rpcpass=$RPCPASS" \
"--rpcserver=rpcserver" \
"--rpcpass=$RPCPASS"
)
PARAMS="$PARAMS $@"

View file

@ -9,17 +9,21 @@ rpc_port=10009
tls_cert_path=/root/.lnd/tls.cert
macaroon_path=/root/.lnd/data/chain/bitcoin/testnet/admin.macaroon
[electrum]
rpc_host=
rpc_port=
rpc_user=
rpc_pass=
[bitcoin]
rpc_host=btcd
rpc_port=18556
rpc_user=devuser
rpc_pass=devpass
[server]
rpc_host=0.0.0.0
rpc_port=8774
price=10
[admin]
rpc_host=0.0.0.0
rpc_port=8994
[postgresql]
host=db
database=squeakserver

View file

@ -11,6 +11,21 @@ services:
- 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
ports:
- 18334:18334
entrypoint: ["./start-btcd.sh"]
lnd:
image: lnd
container_name: lnd
@ -18,14 +33,13 @@ services:
context: ../
dockerfile: docker/lnd/Dockerfile
environment:
- RPCUSER
- RPCPASS
- RPCHOST=btcd
- NETWORK=testnet
- CHAIN
- DEBUG
- BACKEND=neutrino
volumes:
- shared:/rpc
- lnd_dir:/root/.lnd
links:
- "btcd:btcd"
ports:
- 9735:9735
entrypoint: ["./start-lnd.sh"]
@ -39,11 +53,6 @@ services:
volumes:
- lnd_dir:/root/.lnd
- ./config.ini:/app/config.ini
ports:
- 8774:8774
- 8994:8994
- 18774:18774
- 18994:18994
links:
- "lnd:lnd"
depends_on:
@ -52,8 +61,35 @@ services:
- net.ipv6.conf.all.disable_ipv6=0
command: ["./wait-for-it.sh", "db:5432", "--", "runsqueakserver", "--config", "config.ini", "--log-level", "DEBUG", "run-server"]
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:
# lnd_dir volume is needed for sharing tht tls certificate
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

View file

@ -39,6 +39,7 @@ set_default() {
}
# Set default variables if needed.
RPCHOST=$(set_default "$RPCHOST" "localhost")
RPCUSER=$(set_default "$RPCUSER" "devuser")
RPCPASS=$(set_default "$RPCPASS" "devpass")
DEBUG=$(set_default "$DEBUG" "info")
@ -65,7 +66,7 @@ else
"--$CHAIN.$NETWORK" \
"--$CHAIN.node"="$BACKEND" \
"--$BACKEND.rpccert"="/rpc/rpc.cert" \
"--$BACKEND.rpchost"="blockchain" \
"--$BACKEND.rpchost"="$RPCHOST" \
"--$BACKEND.rpcuser"="$RPCUSER" \
"--$BACKEND.rpcpass"="$RPCPASS" \
--rpclisten=0.0.0.0:10009 \

View file

@ -19,7 +19,7 @@ RUN git clone https://github.com/googleapis/googleapis.git
# Copy the source code.
COPY squeakserver ./squeakserver
COPY proto ./proto
COPY setup.py setup.cfg MANIFEST.in README.md init.sql install-rpc.sh ./
COPY setup.py setup.cfg MANIFEST.in README.md init.sql install-rpc.sh wait-for-it.sh ./
# Install the gRPC files.
RUN chmod +x install-rpc.sh && \

View file

@ -11,16 +11,10 @@ services:
- test_shared:/rpc
- test_bitcoin:/data
environment:
- RPCUSER
- RPCPASS
- NETWORK
- DEBUG
- NETWORK=simnet
- MINING_ADDRESS
ports:
- 8334:8334
- 18334:18334
- 18556:18556
- 28902:28902
entrypoint: ["./start-btcd.sh"]
btcctl:
@ -33,13 +27,11 @@ services:
- test_shared:/rpc
- test_bitcoin:/data
environment:
- RPCUSER
- RPCPASS
- NETWORK
- DEBUG
- NETWORK=simnet
- RPCHOST=btcd
- MINING_ADDRESS
links:
- "btcd:rpcserver"
- "btcd:btcd"
entrypoint: ["./start-btcctl.sh"]
lnd_client:
@ -49,16 +41,13 @@ services:
context: ../
dockerfile: docker/lnd/Dockerfile
environment:
- RPCUSER
- RPCPASS
- NETWORK
- CHAIN
- DEBUG
- NETWORK=simnet
- RPCHOST=btcd
volumes:
- test_shared:/rpc
- test_lnd_client_dir:/root/.lnd
links:
- "btcd:blockchain"
- "btcd:btcd"
entrypoint: ["./start-lnd.sh"]
lnd_server:
@ -68,11 +57,8 @@ services:
context: ../
dockerfile: docker/lnd/Dockerfile
environment:
- RPCUSER
- RPCPASS
- NETWORK
- CHAIN
- DEBUG
- NETWORK=simnet
- RPCHOST=btcd
volumes:
- test_shared:/rpc
- test_lnd_server_dir:/root/.lnd
@ -100,11 +86,6 @@ services:
- test_shared:/rpc
- test_lnd_server_dir:/root/.lnd
- ./config.ini:/app/config.ini
ports:
- 8774:8774
- 8994:8994
- 18774:18774
- 18994:18994
links:
- "btcd:btcd"
- "lnd_server:lnd"
@ -127,25 +108,25 @@ services:
- "lnd_client:lnd"
command: tail -f /dev/null
envoy:
image: envoy
container_name: test_envoy
build:
context: ../
dockerfile: docker/envoy/Dockerfile
ports:
- 8080:8080
links:
- "sqkserver:sqkserver"
# envoy:
# image: envoy
# container_name: test_envoy
# build:
# context: ../
# dockerfile: docker/envoy/Dockerfile
# ports:
# - 8080:8080
# links:
# - "sqkserver:sqkserver"
frontend:
image: frontend
container_name: test_frontend
build:
context: ../
dockerfile: docker/frontend/Dockerfile
ports:
- 8081:8081
# frontend:
# image: frontend
# container_name: test_frontend
# build:
# context: ../
# dockerfile: docker/frontend/Dockerfile
# ports:
# - 8081:8081
volumes:
# btcctl and lnd containers.