diff --git a/entrypoint.sh b/entrypoint.sh index 7a2567e..9d4c102 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -2,16 +2,30 @@ set -e -# Note(decentral1se): get file_env function back soon -# https://git.autonomic.zone/coop-cloud/peertube/issues/2 +file_env() { + local var="$1" + local fileVar="${var}_FILE" + local def="${2:-}" -export PEERTUBE_DB_PASSWORD=$(cat "$PEERTUBE_DB_PASSWORD_FILE") -unset PEERTUBE_DB_PASSWORD_FILE + if [ "${!var:-}" ] && [ "${!fileVar:-}" ]; then + echo >&2 "error: both $var and $fileVar are set (but are exclusive)" + exit 1 + fi -if [ -z "$PEERTUBE_SMTP_ENABLED" ]; then -export PEERTUBE_SMTP_PASSWORD=$(cat "$PEERTUBE_SMTP_PASSWORD_FILE") -unset PEERTUBE_SMTP_PASSWORD_FILE -fi + local val="$def" + + if [ "${!var:-}" ]; then + val="${!var}" + elif [ "${!fileVar:-}" ]; then + val="$(< "${!fileVar}")" + fi + + export "$var"="$val" + unset "$fileVar" +} + +file_env "PEERTUBE_DB_PASSWORD" +file_env "PEERTUBE_SMTP_PASSWORD" # upstream entrypoint # https://github.com/Chocobozzz/PeerTube/blob/66f77f63437c6774acbd72584a9839a7636ea167/support/docker/production/entrypoint.sh