From b2048377e8059d8cad8489618dc7e145a89a63b6 Mon Sep 17 00:00:00 2001 From: Ben Bierens <39762930+benbierens@users.noreply.github.com> Date: Mon, 20 Mar 2023 15:07:07 +0100 Subject: [PATCH] Makes required arguments overrideable from environment variables (#377) --- docker/README.md | 5 +++++ docker/startCodex.sh | 24 ++++++++++++++++++++---- 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/docker/README.md b/docker/README.md index 36dfedd3..da37a9ec 100644 --- a/docker/README.md +++ b/docker/README.md @@ -12,6 +12,9 @@ Stop and delete image and volume data: # Environment variables Codex docker image supports the following environment variables: +- LISTEN_ADDRS(*) +- API_BINDADDR(*) +- DATA_DIR(*) - LOG_LEVEL - METRICS_ADDR - METRICS_PORT @@ -30,6 +33,8 @@ Codex docker image supports the following environment variables: - ETH_ACCOUNT - ETH_DEPLOYMENT +(*) These variables have default values in the docker image that are different from Codex's standard default values. + All environment variables are optional and will default to Codex's CLI default values. # Constants diff --git a/docker/startCodex.sh b/docker/startCodex.sh index 95d14ac3..95366b90 100644 --- a/docker/startCodex.sh +++ b/docker/startCodex.sh @@ -2,11 +2,27 @@ echo "Starting Codex..." args="" - # Required arguments -args="$args --data-dir=/datadir" -args="$args --listen-addrs=/ip4/0.0.0.0/tcp/8071" -args="$args --api-bindaddr=0.0.0.0" +if [ -n "$LISTEN_ADDRS" ]; then + echo "Listen address: $LISTEN_ADDRS" + args="$args --listen-addrs=$LISTEN_ADDRS" +else + args="$args --listen-addrs=/ip4/0.0.0.0/tcp/8071" +fi + +if [ -n "$API_BINDADDR" ]; then + echo "API bind address: $API_BINDADDR" + args="$args --api-bindaddr=$API_BINDADDR" +else + args="$args --api-bindaddr=0.0.0.0" +fi + +if [ -n "$DATA_DIR" ]; then + echo "Data dir: $DATA_DIR" + args="$args --data-dir=$DATA_DIR" +else + args="$args --data-dir=/datadir" +fi # Optional arguments # Log level