aboutsummaryrefslogtreecommitdiff
path: root/server/szurubooru/config.py
diff options
context:
space:
mode:
authorShyam Sunder2018-07-11 23:30:13 -0400
committerrr-2018-07-25 13:39:57 +0200
commit6a6c4dc822344df01af0b3849083bc3ceda148e9 (patch)
tree3a05c302814485a686e07f5db8cf825e5ab139c7 /server/szurubooru/config.py
parent9730aa5c050352736327a992f9a428b6bc82cd75 (diff)
build: add Docker functionality and documentation
Diffstat (limited to 'server/szurubooru/config.py')
-rw-r--r--server/szurubooru/config.py32
1 files changed, 32 insertions, 0 deletions
diff --git a/server/szurubooru/config.py b/server/szurubooru/config.py
index 567b457..3ddbea5 100644
--- a/server/szurubooru/config.py
+++ b/server/szurubooru/config.py
@@ -1,6 +1,7 @@
from typing import Dict
import os
import yaml
+from szurubooru import errors
def merge(left: Dict, right: Dict) -> Dict:
@@ -15,12 +16,43 @@ def merge(left: Dict, right: Dict) -> Dict:
return left
+def docker_config() -> Dict:
+ for key in [
+ 'POSTGRES_USER',
+ 'POSTGRES_PASSWORD',
+ 'POSTGRES_HOST',
+ 'ESEARCH_HOST'
+ ]:
+ if not os.getenv(key, False):
+ raise errors.ConfigError(f'Environment variable "{key}" not set')
+ return {
+ 'debug': True,
+ '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' % {
+ 'user': os.getenv('POSTGRES_USER'),
+ 'pass': os.getenv('POSTGRES_PASSWORD'),
+ 'host': os.getenv('POSTGRES_HOST'),
+ 'port': int(os.getenv('POSTGRES_PORT', 5432)),
+ 'db': os.getenv('POSTGRES_DB', os.getenv('POSTGRES_USER'))
+ },
+ 'elasticsearch': {
+ 'host': os.getenv('ESEARCH_HOST'),
+ 'port': int(os.getenv('ESEARCH_PORT', 9200)),
+ 'index': os.getenv('ESEARCH_INDEX', 'szurubooru')
+ }
+ }
+
+
def read_config() -> Dict:
with open('../config.yaml.dist') as handle:
ret = yaml.load(handle.read())
if os.path.exists('../config.yaml'):
with open('../config.yaml') as handle:
ret = merge(ret, yaml.load(handle.read()))
+ if os.path.exists('/.dockerenv'):
+ ret = merge(ret, docker_config())
return ret

© 2015 - 2026 Jakob L. Kreuze