summaryrefslogtreecommitdiff
path: root/server/szurubooru/config.py
diff options
context:
space:
mode:
authorHunternif <hunternif@gmail.com>2025-02-15 18:12:57 +0000
committerHunternif <hunternif@gmail.com>2025-02-15 18:12:57 +0000
commit6a5300502df8b4de9c8f269b444cd309f02b28ad (patch)
tree0cf2ba56bce802c94ad324f9eda7a31d37a42e2e /server/szurubooru/config.py
parent34e7c883808738871aed371948a3c9896a95905c (diff)
parent376f687c386f65522b2f65e98b998b21af26ee29 (diff)
Merge branch 'master' into hunternif
Diffstat (limited to 'server/szurubooru/config.py')
-rw-r--r--server/szurubooru/config.py17
1 files changed, 13 insertions, 4 deletions
diff --git a/server/szurubooru/config.py b/server/szurubooru/config.py
index 1515a54..f3f9007 100644
--- a/server/szurubooru/config.py
+++ b/server/szurubooru/config.py
@@ -21,7 +21,7 @@ def _merge(left: Dict, right: Dict) -> Dict:
return left
-def _docker_config() -> Dict:
+def _container_config() -> Dict:
if "TEST_ENVIRONMENT" not in os.environ:
for key in ["POSTGRES_USER", "POSTGRES_PASSWORD", "POSTGRES_HOST"]:
if key not in os.environ:
@@ -33,7 +33,7 @@ def _docker_config() -> Dict:
"show_sql": int(os.getenv("LOG_SQL", 0)),
"data_url": os.getenv("DATA_URL", "data/"),
"data_dir": "/data/",
- "database": "postgres://%(user)s:%(pass)s@%(host)s:%(port)d/%(db)s"
+ "database": "postgresql://%(user)s:%(pass)s@%(host)s:%(port)d/%(db)s"
% {
"user": os.getenv("POSTGRES_USER"),
"pass": os.getenv("POSTGRES_PASSWORD"),
@@ -49,6 +49,15 @@ def _file_config(filename: str) -> Dict:
return yaml.load(handle.read(), Loader=yaml.SafeLoader) or {}
+def _running_inside_container() -> bool:
+ env = os.environ.keys()
+ return (
+ os.path.exists("/.dockerenv")
+ or "KUBERNETES_SERVICE_HOST" in env
+ or "container" in env # set by lxc/podman
+ )
+
+
def _read_config() -> Dict:
ret = _file_config("config.yaml.dist")
if os.path.isfile("config.yaml"):
@@ -57,8 +66,8 @@ def _read_config() -> Dict:
logger.warning(
"'config.yaml' should be a file, not a directory, skipping"
)
- if os.path.exists("/.dockerenv"):
- ret = _merge(ret, _docker_config())
+ if _running_inside_container():
+ ret = _merge(ret, _container_config())
return ret