diff --git a/Dockerfile b/Dockerfile index d04b2518..010f5940 100644 --- a/Dockerfile +++ b/Dockerfile @@ -185,7 +185,6 @@ ENV DATA_DIR=/data ENV DATA_CACHE_DIR=$DATA_DIR/.sourcebot ENV DATABASE_DATA_DIR=$DATA_CACHE_DIR/db ENV REDIS_DATA_DIR=$DATA_CACHE_DIR/redis -ENV DATABASE_URL="postgresql://postgres@localhost:5432/sourcebot" ENV REDIS_URL="redis://localhost:6379" ENV SRC_TENANT_ENFORCEMENT_MODE=strict ENV SOURCEBOT_PUBLIC_KEY_PATH=/app/public.pem diff --git a/entrypoint.sh b/entrypoint.sh index 6753353f..b031b326 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -1,6 +1,24 @@ #!/bin/sh set -e +# Check if DATABASE_URL is not set +if [ -z "$DATABASE_URL" ]; then + # Check if the individual database variables are set and construct the URL + if [ -n "$DATABASE_HOST" ] && [ -n "$DATABASE_USERNAME" ] && [ -n "$DATABASE_PASSWORD" ] && [ -n "$DATABASE_NAME" ]; then + DATABASE_URL="postgresql://${DATABASE_USERNAME}:${DATABASE_PASSWORD}@${DATABASE_HOST}/${DATABASE_NAME}" + + if [ -n "$DATABASE_ARGS" ]; then + DATABASE_URL="${DATABASE_URL}?$DATABASE_ARGS" + fi + + export DATABASE_URL + else + # Otherwise, fallback to a default value + DATABASE_URL="postgresql://postgres@localhost:5432/sourcebot" + export DATABASE_URL + fi +fi + if [ "$DATABASE_URL" = "postgresql://postgres@localhost:5432/sourcebot" ]; then DATABASE_EMBEDDED="true" fi