From 30034d35abe897a86d3f2a4fa0ff6aa3672f7413 Mon Sep 17 00:00:00 2001 From: Jonathan Zernik Date: Mon, 8 Jun 2020 00:10:04 -0700 Subject: [PATCH] Use config file in docker (#38) * Use config file mounted in docker container to run squeakserver * Fix test script to shut down at end * Expose port in dockerfile * Update main docker-compose to use config file --- docker/config.ini | 22 ++++++++++ docker/docker-compose.yml | 2 +- docker/sqkserver/Dockerfile | 7 +-- docker/sqkserver/start-sqkserver.sh | 66 ----------------------------- itests/config.ini | 22 ++++++++++ itests/docker-compose.yml | 2 +- 6 files changed, 48 insertions(+), 73 deletions(-) create mode 100644 docker/config.ini delete mode 100755 docker/sqkserver/start-sqkserver.sh create mode 100644 itests/config.ini diff --git a/docker/config.ini b/docker/config.ini new file mode 100644 index 00000000..e1be2e0e --- /dev/null +++ b/docker/config.ini @@ -0,0 +1,22 @@ +[DEFAULT] +network=simnet + +[lnd] +rpc_host=lnd +rpc_port=10009 + +[electrum] +rpc_host= +rpc_port= +rpc_user= +rpc_pass= + +[server] +rpc_host=0.0.0.0 +rpc_port=8774 + +[postgresql] +host=db +database=squeakserver +user=postgres +password=postgres diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index 40cdc7bf..8b504284 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -87,6 +87,7 @@ services: volumes: - shared:/rpc - lnd_dir:/root/.lnd + - ./config.ini:/app/config.ini ports: - 8774:8774 - 18774:18774 @@ -96,7 +97,6 @@ services: - db sysctls: - net.ipv6.conf.all.disable_ipv6=0 - entrypoint: ["./start-sqkserver.sh"] volumes: # btcctl and lnd containers. diff --git a/docker/sqkserver/Dockerfile b/docker/sqkserver/Dockerfile index 4c183cee..bb3613fb 100644 --- a/docker/sqkserver/Dockerfile +++ b/docker/sqkserver/Dockerfile @@ -32,9 +32,6 @@ RUN ./install-rpc.sh RUN python3 setup.py install -# Copy the config file template. -COPY "docker/sqkserver/config.ini.sh" . +EXPOSE 8774 -# Copy the entrypoint script. -COPY "docker/sqkserver/start-sqkserver.sh" . -RUN chmod +x start-sqkserver.sh +CMD ["runsqueakserver", "--config", "config.ini", "--log-level", "DEBUG", "run-server"] diff --git a/docker/sqkserver/start-sqkserver.sh b/docker/sqkserver/start-sqkserver.sh deleted file mode 100755 index fd281a9c..00000000 --- a/docker/sqkserver/start-sqkserver.sh +++ /dev/null @@ -1,66 +0,0 @@ -#!/usr/bin/env bash - -# exit from script if error was raised. -set -e - -# error function is used within a bash function in order to send the error -# message directly to the stderr output and exit. -error() { - echo "$1" > /dev/stderr - exit 0 -} - -# return is used within bash function in order to return the value. -return() { - echo "$1" -} - -# set_default function gives the ability to move the setting of default -# env variable from docker file to the script thereby giving the ability to the -# user override it durin container start. -set_default() { - # docker initialized env variables with blank string and we can't just - # use -z flag as usually. - BLANK_STRING='""' - - VARIABLE="$1" - DEFAULT="$2" - - if [[ -z "$VARIABLE" || "$VARIABLE" == "$BLANK_STRING" ]]; then - - if [ -z "$DEFAULT" ]; then - error "You should specify default variable" - else - VARIABLE="$DEFAULT" - fi - fi - - return "$VARIABLE" -} - -# Set default variables if needed. -LND_HOST="lnd" -LND_PORT=10009 -RPCUSER=$(set_default "$RPCUSER" "devuser") -RPCPASS=$(set_default "$RPCPASS" "devpass") -DEBUG=$(set_default "$DEBUG" "debug") -NETWORK=$(set_default "$NETWORK" "simnet") -CHAIN=$(set_default "$CHAIN" "bitcoin") -SQK_HOST="0.0.0.0" -SQK_PORT=8774 - - -# Generate the config file. -chmod +x config.ini.sh -./config.ini.sh $NETWORK $LND_HOST $LND_PORT $SQK_HOST $SQK_PORT > config.ini -echo "config.ini:" -cat config.ini - -echo "Starting to run the python server here...." - -exec runsqueakserver \ - "--config"="config.ini" \ - "--log-level"="$DEBUG" \ - run-server - -# exec ls diff --git a/itests/config.ini b/itests/config.ini new file mode 100644 index 00000000..e1be2e0e --- /dev/null +++ b/itests/config.ini @@ -0,0 +1,22 @@ +[DEFAULT] +network=simnet + +[lnd] +rpc_host=lnd +rpc_port=10009 + +[electrum] +rpc_host= +rpc_port= +rpc_user= +rpc_pass= + +[server] +rpc_host=0.0.0.0 +rpc_port=8774 + +[postgresql] +host=db +database=squeakserver +user=postgres +password=postgres diff --git a/itests/docker-compose.yml b/itests/docker-compose.yml index 0804c2b3..58706f1d 100644 --- a/itests/docker-compose.yml +++ b/itests/docker-compose.yml @@ -143,13 +143,13 @@ services: volumes: - shared_test:/rpc - lnd_dir_sqkserver:/root/.lnd + - ./config.ini:/app/config.ini links: - "lnd_sqkserver:lnd" depends_on: - db sysctls: - net.ipv6.conf.all.disable_ipv6=0 - entrypoint: ["./start-sqkserver.sh"] test: image: test