url-encoded postgres password for sqlalchemy safely

This commit is contained in:
2026-08-12 10:52:02 +01:00
parent b2c21f9190
commit 3d13c5a9d9
2 changed files with 11 additions and 3 deletions
+1 -1
View File
@@ -17,7 +17,7 @@ services:
- "INVENIO_COMMUNITIES_IDENTITIES_CACHE_REDIS_URL=redis://cache:6379/4"
- "INVENIO_SEARCH_HOSTS=['search:9200']"
- "INVENIO_SECRET_KEY=CHANGE_ME"
- "INVENIO_SQLALCHEMY_DATABASE_URI=postgresql+psycopg2://${POSTGRES_USER:-i-form-data-repository}:${POSTGRES_PASSWORD:-i-form-data-repository}@db/${POSTGRES_DB:-i-form-data-repository}"
- "INVENIO_WSGI_PROXIES=1"
- "INVENIO_RATELIMIT_STORAGE_URL=redis://cache:6379/3"
- "INVENIO_S3_ACCESS_KEY_ID=${INVENIO_S3_ACCESS_KEY_ID}"
+10 -2
View File
@@ -50,8 +50,16 @@ TRUSTED_HOSTS = [
# ================
# See https://flask-sqlalchemy.palletsprojects.com/en/2.x/config/
# TODO: Set
SQLALCHEMY_DATABASE_URI = "postgresql+psycopg2://i-form-data-repository:i-form-data-repository@localhost/i-form-data-repository"
import os
import urllib.parse
_db_user = os.environ.get("POSTGRES_USER", "i-form-data-repository")
_db_pass = os.environ.get("POSTGRES_PASSWORD", "i-form-data-repository")
_db_host = os.environ.get("POSTGRES_HOST", "db")
_db_name = os.environ.get("POSTGRES_DB", "i-form-data-repository")
_encoded_pass = urllib.parse.quote_plus(_db_pass)
SQLALCHEMY_DATABASE_URI = f"postgresql+psycopg2://{_db_user}:{_encoded_pass}@{_db_host}/{_db_name}"
# Invenio-App