Commit 655f2af4 authored by emil-lengman's avatar emil-lengman
Browse files

script for turning env-vars into config.js

parent 9b0a5ff0
Loading
Loading
Loading
Loading

docker-entrypoint.sh

0 → 100644
+83 −0
Original line number Diff line number Diff line
#!/bin/bash

# We use this file to translate environmental variables to .env files used by the application

set -e
function create_document_string () {
    IFS=',' read -ra doc_array <<< "$DOCUMENTS"
    document_string="{"

    for i in "${doc_array[@]}"
    do
        IFS='=' read -ra document <<< "$i"
        document_string+="\"${document[0]}\": \"${document[1]}\","
    done

    # Remove trailing "," 
    [[ "$document_string" == *, ]] && document_string=${document_string::${#document_string}-1}
    document_string+="}"
    echo $document_string
}

document_string=$(create_document_string)

echo "
{

  \"host\": \"$HOST\",
  \"port\": ${PORT},

  \"keyLength\": $KEY_LENGTH,

  \"maxLength\": $MAX_LENGTH,

  \"staticMaxAge\": $STATIC_MAX_AGE,

  \"recompressStaticAssets\": $RECOMPRESS_STATIC_ASSETS,

  \"logging\": [
    {
      \"level\": \"$LOGGING_LEVEL\",
      \"type\": \"$LOGGING_TYPE\",
      \"colorize\": $LOGGING_COLORIZE
    }
  ],

  \"keyGenerator\": {
    \"type\": \"$KEYGENERATOR_TYPE\"
  },

  \"rateLimits\": {

    \"categories\": {
      \"normal\": {
        \"totalRequests\": $RATELIMITS_NORMAL_TOTAL_REQUESTS,
        \"every\": $RATELIMITS_NORMAL_EVERY_SECONDS
      },
      \"whitelist\": {
        \"totalRequests\": $RATELIMITS_WHITELIST_TOTAL_REQUESTS,
        \"every\": $RATELIMITS_WHITELIST_EVERY_SECONDS
      },
      \"blacklist\": {
        \"totalRequests\": $RATELIMITS_BLACKLIST_TOTAL_REQUESTS,
        \"every\": $RATELIMITS_BLACKLIST_EVERY_SECONDS
      }
    }
  },

  \"storage\": {
    \"type\": \"$STORAGE_TYPE\",
    \"host\": \"$STORAGE_HOST\",
    \"port\":  $STORAGE_PORT,
    \"expire\": $STORAGE_EXPIRE_SECONDS,
    \"db\": $STORAGE_DB
  },

  \"documents\": $document_string

}
" > config.js



exec "$@"
 No newline at end of file