diff --git a/docker/docker-entrypoint.sh b/docker/docker-entrypoint.sh index 1ea34e4..5b1ee6a 100755 --- a/docker/docker-entrypoint.sh +++ b/docker/docker-entrypoint.sh @@ -54,25 +54,8 @@ fi if [ "$SKIP_SUPERUSER" == "true" ]; then echo "↩️ Skip creating the superuser" else - if [ -z ${SUPERUSER_NAME+x} ]; then - SUPERUSER_NAME='admin' - fi - if [ -z ${SUPERUSER_EMAIL+x} ]; then - SUPERUSER_EMAIL='admin@example.com' - fi - if [ -f "/run/secrets/superuser_password" ]; then - SUPERUSER_PASSWORD="$( str | None: + try: + f = open("/run/secrets/" + secret_name, "r", encoding="utf-8") + except EnvironmentError: + return default + else: + with f: + return f.readline().strip() + + su_name = environ.get("SUPERUSER_NAME") su_email = environ.get("SUPERUSER_EMAIL") -su_password = environ.get("SUPERUSER_PASSWORD") -su_api_token = environ.get("SUPERUSER_API_TOKEN") +su_password = _read_secret("superuser_password", environ.get("SUPERUSER_PASSWORD")) +su_api_token = _read_secret("superuser_api_token", environ.get("SUPERUSER_API_TOKEN")) if not User.objects.filter(username=su_name): u = User.objects.create_superuser(su_name, su_email, su_password) @@ -15,8 +27,6 @@ if not User.objects.filter(username=su_name): print("⚠️ No API token will be created as API_TOKEN_PEPPERS is not set") msg = f"💡 Superuser Username: {su_name}, E-Mail: {su_email}" else: - t = Token.objects.create( - user=u, token=su_api_token, version=TokenVersionChoices.V2 - ) + t = Token.objects.create(user=u, token=su_api_token, version=TokenVersionChoices.V2) msg = f"💡 Superuser Username: {su_name}, E-Mail: {su_email}, API Token: {t} (use with '{t.get_auth_header_prefix()}')" print(msg)