mirror of
https://github.com/mykitserver/docker-limesurvey.git
synced 2025-12-06 16:39:11 +01:00
Merge pull request #156 from martialblog/feature/file-env
Add support for secrets in files
This commit is contained in:
@@ -1,6 +1,23 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# Entrypoint for Docker Container
|
# Entrypoint for Docker Container
|
||||||
|
|
||||||
|
file_env() {
|
||||||
|
local v="$1"
|
||||||
|
local fv="${v}_FILE"
|
||||||
|
local default="${2:-}"
|
||||||
|
if [ "${!v:-}" ] && [ "${!fv:-}" ]; then
|
||||||
|
echo >&2 "$v and $fv are exclusive"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
local val="$default"
|
||||||
|
if [ "${!v:-}" ]; then
|
||||||
|
val="${!v}"
|
||||||
|
elif [ "${!fv:-}" ]; then
|
||||||
|
val="$(< "${!fv}")"
|
||||||
|
fi
|
||||||
|
export "$v"="$val"
|
||||||
|
unset "$fv"
|
||||||
|
}
|
||||||
|
|
||||||
DB_TYPE=${DB_TYPE:-'mysql'}
|
DB_TYPE=${DB_TYPE:-'mysql'}
|
||||||
DB_HOST=${DB_HOST:-'mysql'}
|
DB_HOST=${DB_HOST:-'mysql'}
|
||||||
@@ -9,19 +26,19 @@ DB_SOCK=${DB_SOCK:-}
|
|||||||
DB_NAME=${DB_NAME:-'limesurvey'}
|
DB_NAME=${DB_NAME:-'limesurvey'}
|
||||||
DB_TABLE_PREFIX=${DB_TABLE_PREFIX:-'lime_'}
|
DB_TABLE_PREFIX=${DB_TABLE_PREFIX:-'lime_'}
|
||||||
DB_USERNAME=${DB_USERNAME:-'limesurvey'}
|
DB_USERNAME=${DB_USERNAME:-'limesurvey'}
|
||||||
DB_PASSWORD=${DB_PASSWORD:-}
|
|
||||||
DB_MYSQL_ENGINE=${DB_MYSQL_ENGINE:-'MyISAM'}
|
DB_MYSQL_ENGINE=${DB_MYSQL_ENGINE:-'MyISAM'}
|
||||||
|
file_env 'DB_PASSWORD'
|
||||||
|
|
||||||
ENCRYPT_KEYPAIR=${ENCRYPT_KEYPAIR:-}
|
file_env 'ENCRYPT_KEYPAIR'
|
||||||
ENCRYPT_PUBLIC_KEY=${ENCRYPT_PUBLIC_KEY:-}
|
file_env 'ENCRYPT_PUBLIC_KEY'
|
||||||
ENCRYPT_SECRET_KEY=${ENCRYPT_SECRET_KEY:-}
|
file_env 'ENCRYPT_SECRET_KEY'
|
||||||
ENCRYPT_NONCE=${ENCRYPT_NONCE:-}
|
file_env 'ENCRYPT_NONCE'
|
||||||
ENCRYPT_SECRET_BOX_KEY=${ENCRYPT_SECRET_BOX_KEY:-}
|
file_env 'ENCRYPT_SECRET_BOX_KEY'
|
||||||
|
|
||||||
ADMIN_USER=${ADMIN_USER:-'admin'}
|
ADMIN_USER=${ADMIN_USER:-'admin'}
|
||||||
ADMIN_NAME=${ADMIN_NAME:-'admin'}
|
ADMIN_NAME=${ADMIN_NAME:-'admin'}
|
||||||
ADMIN_EMAIL=${ADMIN_EMAIL:-'foobar@example.com'}
|
ADMIN_EMAIL=${ADMIN_EMAIL:-'foobar@example.com'}
|
||||||
ADMIN_PASSWORD=${ADMIN_PASSWORD:-}
|
file_env 'ADMIN_PASSWORD'
|
||||||
|
|
||||||
BASE_URL=${BASE_URL:-}
|
BASE_URL=${BASE_URL:-}
|
||||||
PUBLIC_URL=${PUBLIC_URL:-}
|
PUBLIC_URL=${PUBLIC_URL:-}
|
||||||
@@ -35,12 +52,12 @@ DEBUG_SQL=${DEBUG_SQL:-0}
|
|||||||
LISTEN_PORT=${LISTEN_PORT:-"8080"}
|
LISTEN_PORT=${LISTEN_PORT:-"8080"}
|
||||||
|
|
||||||
if [ -z "$DB_PASSWORD" ]; then
|
if [ -z "$DB_PASSWORD" ]; then
|
||||||
echo >&2 'Error: Missing DB_PASSWORD'
|
echo >&2 'Error: Missing DB_PASSWORD or DB_PASSWORD_FILE'
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -z "$ADMIN_PASSWORD" ]; then
|
if [ -z "$ADMIN_PASSWORD" ]; then
|
||||||
echo >&2 'Error: Missing ADMIN_PASSWORD'
|
echo >&2 'Error: Missing ADMIN_PASSWORD or ADMIN_PASSWORD_FILE'
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,23 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# Entrypoint for Docker Container
|
# Entrypoint for Docker Container
|
||||||
|
|
||||||
|
file_env() {
|
||||||
|
local v="$1"
|
||||||
|
local fv="${v}_FILE"
|
||||||
|
local default="${2:-}"
|
||||||
|
if [ "${!v:-}" ] && [ "${!fv:-}" ]; then
|
||||||
|
echo >&2 "$v and $fv are exclusive"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
local val="$default"
|
||||||
|
if [ "${!v:-}" ]; then
|
||||||
|
val="${!v}"
|
||||||
|
elif [ "${!fv:-}" ]; then
|
||||||
|
val="$(< "${!fv}")"
|
||||||
|
fi
|
||||||
|
export "$v"="$val"
|
||||||
|
unset "$fv"
|
||||||
|
}
|
||||||
|
|
||||||
DB_TYPE=${DB_TYPE:-'mysql'}
|
DB_TYPE=${DB_TYPE:-'mysql'}
|
||||||
DB_HOST=${DB_HOST:-'mysql'}
|
DB_HOST=${DB_HOST:-'mysql'}
|
||||||
@@ -9,19 +26,19 @@ DB_SOCK=${DB_SOCK:-}
|
|||||||
DB_NAME=${DB_NAME:-'limesurvey'}
|
DB_NAME=${DB_NAME:-'limesurvey'}
|
||||||
DB_TABLE_PREFIX=${DB_TABLE_PREFIX:-'lime_'}
|
DB_TABLE_PREFIX=${DB_TABLE_PREFIX:-'lime_'}
|
||||||
DB_USERNAME=${DB_USERNAME:-'limesurvey'}
|
DB_USERNAME=${DB_USERNAME:-'limesurvey'}
|
||||||
DB_PASSWORD=${DB_PASSWORD:-}
|
|
||||||
DB_MYSQL_ENGINE=${DB_MYSQL_ENGINE:-'MyISAM'}
|
DB_MYSQL_ENGINE=${DB_MYSQL_ENGINE:-'MyISAM'}
|
||||||
|
file_env 'DB_PASSWORD'
|
||||||
|
|
||||||
ENCRYPT_KEYPAIR=${ENCRYPT_KEYPAIR:-}
|
file_env 'ENCRYPT_KEYPAIR'
|
||||||
ENCRYPT_PUBLIC_KEY=${ENCRYPT_PUBLIC_KEY:-}
|
file_env 'ENCRYPT_PUBLIC_KEY'
|
||||||
ENCRYPT_SECRET_KEY=${ENCRYPT_SECRET_KEY:-}
|
file_env 'ENCRYPT_SECRET_KEY'
|
||||||
ENCRYPT_NONCE=${ENCRYPT_NONCE:-}
|
file_env 'ENCRYPT_NONCE'
|
||||||
ENCRYPT_SECRET_BOX_KEY=${ENCRYPT_SECRET_BOX_KEY:-}
|
file_env 'ENCRYPT_SECRET_BOX_KEY'
|
||||||
|
|
||||||
ADMIN_USER=${ADMIN_USER:-'admin'}
|
ADMIN_USER=${ADMIN_USER:-'admin'}
|
||||||
ADMIN_NAME=${ADMIN_NAME:-'admin'}
|
ADMIN_NAME=${ADMIN_NAME:-'admin'}
|
||||||
ADMIN_EMAIL=${ADMIN_EMAIL:-'foobar@example.com'}
|
ADMIN_EMAIL=${ADMIN_EMAIL:-'foobar@example.com'}
|
||||||
ADMIN_PASSWORD=${ADMIN_PASSWORD:-}
|
file_env 'ADMIN_PASSWORD'
|
||||||
|
|
||||||
BASE_URL=${BASE_URL:-}
|
BASE_URL=${BASE_URL:-}
|
||||||
PUBLIC_URL=${PUBLIC_URL:-}
|
PUBLIC_URL=${PUBLIC_URL:-}
|
||||||
@@ -33,12 +50,12 @@ DEBUG=${DEBUG:-0}
|
|||||||
DEBUG_SQL=${DEBUG_SQL:-0}
|
DEBUG_SQL=${DEBUG_SQL:-0}
|
||||||
|
|
||||||
if [ -z "$DB_PASSWORD" ]; then
|
if [ -z "$DB_PASSWORD" ]; then
|
||||||
echo >&2 'Error: Missing DB_PASSWORD'
|
echo >&2 'Error: Missing DB_PASSWORD or DB_PASSWORD_FILE'
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -z "$ADMIN_PASSWORD" ]; then
|
if [ -z "$ADMIN_PASSWORD" ]; then
|
||||||
echo >&2 'Error: Missing ADMIN_PASSWORD'
|
echo >&2 'Error: Missing ADMIN_PASSWORD or ADMIN_PASSWORD_FILE'
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,23 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# Entrypoint for Docker Container
|
# Entrypoint for Docker Container
|
||||||
|
|
||||||
|
file_env() {
|
||||||
|
local v="$1"
|
||||||
|
local fv="${v}_FILE"
|
||||||
|
local default="${2:-}"
|
||||||
|
if [ "${!v:-}" ] && [ "${!fv:-}" ]; then
|
||||||
|
echo >&2 "$v and $fv are exclusive"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
local val="$default"
|
||||||
|
if [ "${!v:-}" ]; then
|
||||||
|
val="${!v}"
|
||||||
|
elif [ "${!fv:-}" ]; then
|
||||||
|
val="$(< "${!fv}")"
|
||||||
|
fi
|
||||||
|
export "$v"="$val"
|
||||||
|
unset "$fv"
|
||||||
|
}
|
||||||
|
|
||||||
DB_TYPE=${DB_TYPE:-'mysql'}
|
DB_TYPE=${DB_TYPE:-'mysql'}
|
||||||
DB_HOST=${DB_HOST:-'mysql'}
|
DB_HOST=${DB_HOST:-'mysql'}
|
||||||
@@ -9,19 +26,19 @@ DB_SOCK=${DB_SOCK:-}
|
|||||||
DB_NAME=${DB_NAME:-'limesurvey'}
|
DB_NAME=${DB_NAME:-'limesurvey'}
|
||||||
DB_TABLE_PREFIX=${DB_TABLE_PREFIX:-'lime_'}
|
DB_TABLE_PREFIX=${DB_TABLE_PREFIX:-'lime_'}
|
||||||
DB_USERNAME=${DB_USERNAME:-'limesurvey'}
|
DB_USERNAME=${DB_USERNAME:-'limesurvey'}
|
||||||
DB_PASSWORD=${DB_PASSWORD:-}
|
|
||||||
DB_MYSQL_ENGINE=${DB_MYSQL_ENGINE:-'MyISAM'}
|
DB_MYSQL_ENGINE=${DB_MYSQL_ENGINE:-'MyISAM'}
|
||||||
|
file_env 'DB_PASSWORD'
|
||||||
|
|
||||||
ENCRYPT_KEYPAIR=${ENCRYPT_KEYPAIR:-}
|
file_env 'ENCRYPT_KEYPAIR'
|
||||||
ENCRYPT_PUBLIC_KEY=${ENCRYPT_PUBLIC_KEY:-}
|
file_env 'ENCRYPT_PUBLIC_KEY'
|
||||||
ENCRYPT_SECRET_KEY=${ENCRYPT_SECRET_KEY:-}
|
file_env 'ENCRYPT_SECRET_KEY'
|
||||||
ENCRYPT_NONCE=${ENCRYPT_NONCE:-}
|
file_env 'ENCRYPT_NONCE'
|
||||||
ENCRYPT_SECRET_BOX_KEY=${ENCRYPT_SECRET_BOX_KEY:-}
|
file_env 'ENCRYPT_SECRET_BOX_KEY'
|
||||||
|
|
||||||
ADMIN_USER=${ADMIN_USER:-'admin'}
|
ADMIN_USER=${ADMIN_USER:-'admin'}
|
||||||
ADMIN_NAME=${ADMIN_NAME:-'admin'}
|
ADMIN_NAME=${ADMIN_NAME:-'admin'}
|
||||||
ADMIN_EMAIL=${ADMIN_EMAIL:-'foobar@example.com'}
|
ADMIN_EMAIL=${ADMIN_EMAIL:-'foobar@example.com'}
|
||||||
ADMIN_PASSWORD=${ADMIN_PASSWORD:-}
|
file_env 'ADMIN_PASSWORD'
|
||||||
|
|
||||||
BASE_URL=${BASE_URL:-}
|
BASE_URL=${BASE_URL:-}
|
||||||
PUBLIC_URL=${PUBLIC_URL:-}
|
PUBLIC_URL=${PUBLIC_URL:-}
|
||||||
@@ -33,12 +50,12 @@ DEBUG=${DEBUG:-0}
|
|||||||
DEBUG_SQL=${DEBUG_SQL:-0}
|
DEBUG_SQL=${DEBUG_SQL:-0}
|
||||||
|
|
||||||
if [ -z "$DB_PASSWORD" ]; then
|
if [ -z "$DB_PASSWORD" ]; then
|
||||||
echo >&2 'Error: Missing DB_PASSWORD'
|
echo >&2 'Error: Missing DB_PASSWORD or DB_PASSWORD_FILE'
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -z "$ADMIN_PASSWORD" ]; then
|
if [ -z "$ADMIN_PASSWORD" ]; then
|
||||||
echo >&2 'Error: Missing ADMIN_PASSWORD'
|
echo >&2 'Error: Missing ADMIN_PASSWORD or ADMIN_PASSWORD_FILE'
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,23 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# Entrypoint for Docker Container
|
# Entrypoint for Docker Container
|
||||||
|
|
||||||
|
file_env() {
|
||||||
|
local v="$1"
|
||||||
|
local fv="${v}_FILE"
|
||||||
|
local default="${2:-}"
|
||||||
|
if [ "${!v:-}" ] && [ "${!fv:-}" ]; then
|
||||||
|
echo >&2 "$v and $fv are exclusive"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
local val="$default"
|
||||||
|
if [ "${!v:-}" ]; then
|
||||||
|
val="${!v}"
|
||||||
|
elif [ "${!fv:-}" ]; then
|
||||||
|
val="$(< "${!fv}")"
|
||||||
|
fi
|
||||||
|
export "$v"="$val"
|
||||||
|
unset "$fv"
|
||||||
|
}
|
||||||
|
|
||||||
DB_TYPE=${DB_TYPE:-'mysql'}
|
DB_TYPE=${DB_TYPE:-'mysql'}
|
||||||
DB_HOST=${DB_HOST:-'mysql'}
|
DB_HOST=${DB_HOST:-'mysql'}
|
||||||
@@ -9,19 +26,19 @@ DB_SOCK=${DB_SOCK:-}
|
|||||||
DB_NAME=${DB_NAME:-'limesurvey'}
|
DB_NAME=${DB_NAME:-'limesurvey'}
|
||||||
DB_TABLE_PREFIX=${DB_TABLE_PREFIX:-'lime_'}
|
DB_TABLE_PREFIX=${DB_TABLE_PREFIX:-'lime_'}
|
||||||
DB_USERNAME=${DB_USERNAME:-'limesurvey'}
|
DB_USERNAME=${DB_USERNAME:-'limesurvey'}
|
||||||
DB_PASSWORD=${DB_PASSWORD:-}
|
|
||||||
DB_MYSQL_ENGINE=${DB_MYSQL_ENGINE:-'MyISAM'}
|
DB_MYSQL_ENGINE=${DB_MYSQL_ENGINE:-'MyISAM'}
|
||||||
|
file_env 'DB_PASSWORD'
|
||||||
|
|
||||||
ENCRYPT_KEYPAIR=${ENCRYPT_KEYPAIR:-}
|
file_env 'ENCRYPT_KEYPAIR'
|
||||||
ENCRYPT_PUBLIC_KEY=${ENCRYPT_PUBLIC_KEY:-}
|
file_env 'ENCRYPT_PUBLIC_KEY'
|
||||||
ENCRYPT_SECRET_KEY=${ENCRYPT_SECRET_KEY:-}
|
file_env 'ENCRYPT_SECRET_KEY'
|
||||||
ENCRYPT_NONCE=${ENCRYPT_NONCE:-}
|
file_env 'ENCRYPT_NONCE'
|
||||||
ENCRYPT_SECRET_BOX_KEY=${ENCRYPT_SECRET_BOX_KEY:-}
|
file_env 'ENCRYPT_SECRET_BOX_KEY'
|
||||||
|
|
||||||
ADMIN_USER=${ADMIN_USER:-'admin'}
|
ADMIN_USER=${ADMIN_USER:-'admin'}
|
||||||
ADMIN_NAME=${ADMIN_NAME:-'admin'}
|
ADMIN_NAME=${ADMIN_NAME:-'admin'}
|
||||||
ADMIN_EMAIL=${ADMIN_EMAIL:-'foobar@example.com'}
|
ADMIN_EMAIL=${ADMIN_EMAIL:-'foobar@example.com'}
|
||||||
ADMIN_PASSWORD=${ADMIN_PASSWORD:-}
|
file_env 'ADMIN_PASSWORD'
|
||||||
|
|
||||||
BASE_URL=${BASE_URL:-}
|
BASE_URL=${BASE_URL:-}
|
||||||
PUBLIC_URL=${PUBLIC_URL:-}
|
PUBLIC_URL=${PUBLIC_URL:-}
|
||||||
@@ -35,12 +52,12 @@ DEBUG_SQL=${DEBUG_SQL:-0}
|
|||||||
LISTEN_PORT=${LISTEN_PORT:-"8080"}
|
LISTEN_PORT=${LISTEN_PORT:-"8080"}
|
||||||
|
|
||||||
if [ -z "$DB_PASSWORD" ]; then
|
if [ -z "$DB_PASSWORD" ]; then
|
||||||
echo >&2 'Error: Missing DB_PASSWORD'
|
echo >&2 'Error: Missing DB_PASSWORD or DB_PASSWORD_FILE'
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -z "$ADMIN_PASSWORD" ]; then
|
if [ -z "$ADMIN_PASSWORD" ]; then
|
||||||
echo >&2 'Error: Missing ADMIN_PASSWORD'
|
echo >&2 'Error: Missing ADMIN_PASSWORD or ADMIN_PASSWORD_FILE'
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,23 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# Entrypoint for Docker Container
|
# Entrypoint for Docker Container
|
||||||
|
|
||||||
|
file_env() {
|
||||||
|
local v="$1"
|
||||||
|
local fv="${v}_FILE"
|
||||||
|
local default="${2:-}"
|
||||||
|
if [ "${!v:-}" ] && [ "${!fv:-}" ]; then
|
||||||
|
echo >&2 "$v and $fv are exclusive"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
local val="$default"
|
||||||
|
if [ "${!v:-}" ]; then
|
||||||
|
val="${!v}"
|
||||||
|
elif [ "${!fv:-}" ]; then
|
||||||
|
val="$(< "${!fv}")"
|
||||||
|
fi
|
||||||
|
export "$v"="$val"
|
||||||
|
unset "$fv"
|
||||||
|
}
|
||||||
|
|
||||||
DB_TYPE=${DB_TYPE:-'mysql'}
|
DB_TYPE=${DB_TYPE:-'mysql'}
|
||||||
DB_HOST=${DB_HOST:-'mysql'}
|
DB_HOST=${DB_HOST:-'mysql'}
|
||||||
@@ -9,19 +26,19 @@ DB_SOCK=${DB_SOCK:-}
|
|||||||
DB_NAME=${DB_NAME:-'limesurvey'}
|
DB_NAME=${DB_NAME:-'limesurvey'}
|
||||||
DB_TABLE_PREFIX=${DB_TABLE_PREFIX:-'lime_'}
|
DB_TABLE_PREFIX=${DB_TABLE_PREFIX:-'lime_'}
|
||||||
DB_USERNAME=${DB_USERNAME:-'limesurvey'}
|
DB_USERNAME=${DB_USERNAME:-'limesurvey'}
|
||||||
DB_PASSWORD=${DB_PASSWORD:-}
|
|
||||||
DB_MYSQL_ENGINE=${DB_MYSQL_ENGINE:-'MyISAM'}
|
DB_MYSQL_ENGINE=${DB_MYSQL_ENGINE:-'MyISAM'}
|
||||||
|
file_env 'DB_PASSWORD'
|
||||||
|
|
||||||
ENCRYPT_KEYPAIR=${ENCRYPT_KEYPAIR:-}
|
file_env 'ENCRYPT_KEYPAIR'
|
||||||
ENCRYPT_PUBLIC_KEY=${ENCRYPT_PUBLIC_KEY:-}
|
file_env 'ENCRYPT_PUBLIC_KEY'
|
||||||
ENCRYPT_SECRET_KEY=${ENCRYPT_SECRET_KEY:-}
|
file_env 'ENCRYPT_SECRET_KEY'
|
||||||
ENCRYPT_NONCE=${ENCRYPT_NONCE:-}
|
file_env 'ENCRYPT_NONCE'
|
||||||
ENCRYPT_SECRET_BOX_KEY=${ENCRYPT_SECRET_BOX_KEY:-}
|
file_env 'ENCRYPT_SECRET_BOX_KEY'
|
||||||
|
|
||||||
ADMIN_USER=${ADMIN_USER:-'admin'}
|
ADMIN_USER=${ADMIN_USER:-'admin'}
|
||||||
ADMIN_NAME=${ADMIN_NAME:-'admin'}
|
ADMIN_NAME=${ADMIN_NAME:-'admin'}
|
||||||
ADMIN_EMAIL=${ADMIN_EMAIL:-'foobar@example.com'}
|
ADMIN_EMAIL=${ADMIN_EMAIL:-'foobar@example.com'}
|
||||||
ADMIN_PASSWORD=${ADMIN_PASSWORD:-}
|
file_env 'ADMIN_PASSWORD'
|
||||||
|
|
||||||
BASE_URL=${BASE_URL:-}
|
BASE_URL=${BASE_URL:-}
|
||||||
PUBLIC_URL=${PUBLIC_URL:-}
|
PUBLIC_URL=${PUBLIC_URL:-}
|
||||||
@@ -33,12 +50,12 @@ DEBUG=${DEBUG:-0}
|
|||||||
DEBUG_SQL=${DEBUG_SQL:-0}
|
DEBUG_SQL=${DEBUG_SQL:-0}
|
||||||
|
|
||||||
if [ -z "$DB_PASSWORD" ]; then
|
if [ -z "$DB_PASSWORD" ]; then
|
||||||
echo >&2 'Error: Missing DB_PASSWORD'
|
echo >&2 'Error: Missing DB_PASSWORD or DB_PASSWORD_FILE'
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -z "$ADMIN_PASSWORD" ]; then
|
if [ -z "$ADMIN_PASSWORD" ]; then
|
||||||
echo >&2 'Error: Missing ADMIN_PASSWORD'
|
echo >&2 'Error: Missing ADMIN_PASSWORD or ADMIN_PASSWORD_FILE'
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,23 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# Entrypoint for Docker Container
|
# Entrypoint for Docker Container
|
||||||
|
|
||||||
|
file_env() {
|
||||||
|
local v="$1"
|
||||||
|
local fv="${v}_FILE"
|
||||||
|
local default="${2:-}"
|
||||||
|
if [ "${!v:-}" ] && [ "${!fv:-}" ]; then
|
||||||
|
echo >&2 "$v and $fv are exclusive"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
local val="$default"
|
||||||
|
if [ "${!v:-}" ]; then
|
||||||
|
val="${!v}"
|
||||||
|
elif [ "${!fv:-}" ]; then
|
||||||
|
val="$(< "${!fv}")"
|
||||||
|
fi
|
||||||
|
export "$v"="$val"
|
||||||
|
unset "$fv"
|
||||||
|
}
|
||||||
|
|
||||||
DB_TYPE=${DB_TYPE:-'mysql'}
|
DB_TYPE=${DB_TYPE:-'mysql'}
|
||||||
DB_HOST=${DB_HOST:-'mysql'}
|
DB_HOST=${DB_HOST:-'mysql'}
|
||||||
@@ -9,19 +26,19 @@ DB_SOCK=${DB_SOCK:-}
|
|||||||
DB_NAME=${DB_NAME:-'limesurvey'}
|
DB_NAME=${DB_NAME:-'limesurvey'}
|
||||||
DB_TABLE_PREFIX=${DB_TABLE_PREFIX:-'lime_'}
|
DB_TABLE_PREFIX=${DB_TABLE_PREFIX:-'lime_'}
|
||||||
DB_USERNAME=${DB_USERNAME:-'limesurvey'}
|
DB_USERNAME=${DB_USERNAME:-'limesurvey'}
|
||||||
DB_PASSWORD=${DB_PASSWORD:-}
|
|
||||||
DB_MYSQL_ENGINE=${DB_MYSQL_ENGINE:-'MyISAM'}
|
DB_MYSQL_ENGINE=${DB_MYSQL_ENGINE:-'MyISAM'}
|
||||||
|
file_env 'DB_PASSWORD'
|
||||||
|
|
||||||
ENCRYPT_KEYPAIR=${ENCRYPT_KEYPAIR:-}
|
file_env 'ENCRYPT_KEYPAIR'
|
||||||
ENCRYPT_PUBLIC_KEY=${ENCRYPT_PUBLIC_KEY:-}
|
file_env 'ENCRYPT_PUBLIC_KEY'
|
||||||
ENCRYPT_SECRET_KEY=${ENCRYPT_SECRET_KEY:-}
|
file_env 'ENCRYPT_SECRET_KEY'
|
||||||
ENCRYPT_NONCE=${ENCRYPT_NONCE:-}
|
file_env 'ENCRYPT_NONCE'
|
||||||
ENCRYPT_SECRET_BOX_KEY=${ENCRYPT_SECRET_BOX_KEY:-}
|
file_env 'ENCRYPT_SECRET_BOX_KEY'
|
||||||
|
|
||||||
ADMIN_USER=${ADMIN_USER:-'admin'}
|
ADMIN_USER=${ADMIN_USER:-'admin'}
|
||||||
ADMIN_NAME=${ADMIN_NAME:-'admin'}
|
ADMIN_NAME=${ADMIN_NAME:-'admin'}
|
||||||
ADMIN_EMAIL=${ADMIN_EMAIL:-'foobar@example.com'}
|
ADMIN_EMAIL=${ADMIN_EMAIL:-'foobar@example.com'}
|
||||||
ADMIN_PASSWORD=${ADMIN_PASSWORD:-}
|
file_env 'ADMIN_PASSWORD'
|
||||||
|
|
||||||
BASE_URL=${BASE_URL:-}
|
BASE_URL=${BASE_URL:-}
|
||||||
PUBLIC_URL=${PUBLIC_URL:-}
|
PUBLIC_URL=${PUBLIC_URL:-}
|
||||||
@@ -33,12 +50,12 @@ DEBUG=${DEBUG:-0}
|
|||||||
DEBUG_SQL=${DEBUG_SQL:-0}
|
DEBUG_SQL=${DEBUG_SQL:-0}
|
||||||
|
|
||||||
if [ -z "$DB_PASSWORD" ]; then
|
if [ -z "$DB_PASSWORD" ]; then
|
||||||
echo >&2 'Error: Missing DB_PASSWORD'
|
echo >&2 'Error: Missing DB_PASSWORD or DB_PASSWORD_FILE'
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -z "$ADMIN_PASSWORD" ]; then
|
if [ -z "$ADMIN_PASSWORD" ]; then
|
||||||
echo >&2 'Error: Missing ADMIN_PASSWORD'
|
echo >&2 'Error: Missing ADMIN_PASSWORD or ADMIN_PASSWORD_FILE'
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
12
README.md
12
README.md
@@ -133,6 +133,18 @@ If you are running LimeSurvey behind a Reverse Proxy you might need some additio
|
|||||||
| ENCRYPT_SECRET_BOX_KEY | Data encryption secret box key (used in 5.0 and higher) |
|
| ENCRYPT_SECRET_BOX_KEY | Data encryption secret box key (used in 5.0 and higher) |
|
||||||
| LISTEN_PORT | Apache: Listen port. Default: 8080 |
|
| LISTEN_PORT | Apache: Listen port. Default: 8080 |
|
||||||
|
|
||||||
|
Sensitive information can also be passed `_FILE` to the following environment variables to load the values from the given file path. Example `DB_PASSWORD_FILE=/run/secrets/db_password`.
|
||||||
|
|
||||||
|
```
|
||||||
|
DB_PASSWORD_FILE
|
||||||
|
ADMIN_PASSWORD_FILE
|
||||||
|
ENCRYPT_KEYPAIR_FILE
|
||||||
|
ENCRYPT_PUBLIC_KEY_FILE
|
||||||
|
ENCRYPT_SECRET_KEY_FILE
|
||||||
|
ENCRYPT_NONCE_FILE
|
||||||
|
ENCRYPT_SECRET_BOX_KEY_FILE
|
||||||
|
```
|
||||||
|
|
||||||
For further details on the settings see: https://manual.limesurvey.org/Optional_settings#Advanced_Path_Settings
|
For further details on the settings see: https://manual.limesurvey.org/Optional_settings#Advanced_Path_Settings
|
||||||
|
|
||||||
# Running LimeSurvey with docker-compose
|
# Running LimeSurvey with docker-compose
|
||||||
|
|||||||
Reference in New Issue
Block a user