config from docker envs
This commit is contained in:
@@ -8,6 +8,6 @@ __all__ = (
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
BOT_NAME = 'CraftSleuthBot'
|
BOT_NAME = 'DeletedPostsBot'
|
||||||
BASE_DIR = Path(__file__).parent.parent.parent
|
BASE_DIR = Path(__file__).parent.parent.parent
|
||||||
MSG_AWAIT_THRESHOLD = 5
|
MSG_AWAIT_THRESHOLD = 5
|
||||||
|
|||||||
@@ -12,9 +12,10 @@ Example usage::
|
|||||||
|
|
||||||
from config import config
|
from config import config
|
||||||
print(config['client_id'])
|
print(config['client_id'])
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
import os
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
"client_id": "",
|
"client_id": "",
|
||||||
"client_secret": "",
|
"client_secret": "",
|
||||||
@@ -28,6 +29,26 @@ config = {
|
|||||||
"sleep_minutes": 5,
|
"sleep_minutes": 5,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# allow container/WC users to override values via environment variables
|
||||||
|
# variables are expected to be UPPERCASE versions of the keys (or prefixed
|
||||||
|
# with DP_). Numeric values will be converted to ints automatically.
|
||||||
|
for key in list(config):
|
||||||
|
# check both bare and prefixed variants
|
||||||
|
env_names = [key.upper(), f"DP_{key.upper()}"]
|
||||||
|
for env in env_names:
|
||||||
|
val = os.getenv(env)
|
||||||
|
if val is not None:
|
||||||
|
# cast numeric entries back to int when appropriate
|
||||||
|
if isinstance(config[key], int):
|
||||||
|
try:
|
||||||
|
config[key] = int(val)
|
||||||
|
except ValueError:
|
||||||
|
pass # leave original if conversion fails
|
||||||
|
else:
|
||||||
|
config[key] = val
|
||||||
|
break
|
||||||
|
|
||||||
|
|
||||||
# same data as a text template. both ``main.py`` and ``utils.actions`` import
|
# same data as a text template. both ``main.py`` and ``utils.actions`` import
|
||||||
# this so that the file can be created or reset without duplicating the
|
# this so that the file can be created or reset without duplicating the
|
||||||
# literal configuration body.
|
# literal configuration body.
|
||||||
|
|||||||
@@ -5,5 +5,13 @@ services:
|
|||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
volumes:
|
volumes:
|
||||||
- /docker/data/deletedposts:/app/config
|
- /docker/data/deletedposts:/app/config
|
||||||
|
environment:
|
||||||
|
CLIENT_ID: "abc123"
|
||||||
|
CLIENT_SECRET: "secret"
|
||||||
|
USER_AGENT: "DeletedPostsBot/1.0"
|
||||||
|
USERNAME: "botuser"
|
||||||
|
PASSWORD: "botpass"
|
||||||
|
SUB_NAME: "my_subreddit"
|
||||||
|
MAX_DAYS: "90" # strings are converted to ints when the
|
||||||
|
MAX_POSTS: "500" # corresponding config value is an int
|
||||||
|
SLEEP_MINUTES: "10"
|
||||||
|
|||||||
Reference in New Issue
Block a user