From f78a405dbbcd12ec72c12354478e3b1d6078d9f3 Mon Sep 17 00:00:00 2001 From: wlinator Date: Sat, 13 Apr 2024 17:38:01 +0200 Subject: [PATCH] Set environment variables with Docker Compose --- .env.template | 8 +------- Racu.py | 4 ++-- db/database.py | 10 +++++----- docker-compose.yml | 13 +++++++++++++ modules/economy/blackjack.py | 2 -- modules/misc/backup.py | 14 ++++++-------- requirements.txt | 1 - services/Help.py | 3 --- services/xp_service.py | 6 ++---- 9 files changed, 29 insertions(+), 32 deletions(-) diff --git a/.env.template b/.env.template index 5603b71..03b5581 100644 --- a/.env.template +++ b/.env.template @@ -1,11 +1,4 @@ TOKEN= -INSTANCE=BETA - -# comma separated list of owner IDs -OWNER_IDS= - -XP_GAIN_PER_MESSAGE=1 -XP_GAIN_COOLDOWN=8 DBX_OAUTH2_REFRESH_TOKEN= DBX_APP_KEY= @@ -14,3 +7,4 @@ DBX_APP_SECRET= MARIADB_USER= MARIADB_PASSWORD= MARIADB_ROOT_PASSWORD= +MARIADB_DATABASE=racudb \ No newline at end of file diff --git a/Racu.py b/Racu.py index 4001b08..e198ac9 100644 --- a/Racu.py +++ b/Racu.py @@ -16,7 +16,7 @@ async def get_prefix(bot, message): except AttributeError: return "." -owner_ids = set(os.environ.get('OWNER_IDS').split(',')) +owner_ids = set(os.environ.get('RACU_OWNER_IDS').split(',')) client = services.Client.RacuBot( owner_ids=owner_ids, command_prefix=get_prefix, @@ -69,4 +69,4 @@ if __name__ == '__main__': # empty line to separate modules from system info in logs _logs.info("\n") - client.run(os.getenv('TOKEN')) + client.run(os.environ.get('RACU_TOKEN')) diff --git a/db/database.py b/db/database.py index 1e5dcbc..1dcc191 100644 --- a/db/database.py +++ b/db/database.py @@ -2,24 +2,24 @@ import logging import os import mariadb -from dotenv import load_dotenv _logs = logging.getLogger('Racu.Core') -load_dotenv('.env') + def create_connection_pool(name: str, size: int) -> mariadb.ConnectionPool: pool = mariadb.ConnectionPool( host="db", port=3306, - database="racudb", - user=os.getenv("MARIADB_USER"), - password=os.getenv("MARIADB_PASSWORD"), + database=os.environ.get("MARIADB_DATABASE"), + user=os.environ.get("MARIADB_USER"), + password=os.environ.get("MARIADB_PASSWORD"), pool_name=name, pool_size=size ) return pool + try: _cnxpool = create_connection_pool("core-pool", 25) except mariadb.Error as e: diff --git a/docker-compose.yml b/docker-compose.yml index 38d58f5..cb72c2d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -8,6 +8,19 @@ services: driver: "json-file" options: max-size: "50m" + environment: + RACU_TOKEN: ${TOKEN} + RACU_INSTANCE: BETA + RACU_OWNER_IDS: 784783517845946429 + RACU_XP_GAIN_PER_MESSAGE: 1 + RACU_XP_GAIN_COOLDOWN: 8 + RACU_DBX_OAUTH2_REFRESH_TOKEN: ${DBX_OAUTH2_REFRESH_TOKEN} + RACU_DBX_APP_KEY: ${DBX_APP_KEY} + RACU_DBX_APP_SECRET: ${DBX_APP_SECRET} + MARIADB_ROOT_PASSWORD: ${MARIADB_ROOT_PASSWORD} + MARIADB_USER: ${MARIADB_USER} + MARIADB_PASSWORD: ${MARIADB_PASSWORD} + MARIADB_DATABASE: racudb volumes: - debuglog:/usr/src/app/logs depends_on: diff --git a/modules/economy/blackjack.py b/modules/economy/blackjack.py index 37a27ba..8cbfd6f 100644 --- a/modules/economy/blackjack.py +++ b/modules/economy/blackjack.py @@ -5,7 +5,6 @@ from datetime import datetime import discord import pytz from discord.ext import commands -from dotenv import load_dotenv from config.parser import JsonCache from lib import interaction @@ -16,7 +15,6 @@ from services.Currency import Currency resources = JsonCache.read_json("resources") logs = logging.getLogger('Racu.Core') -load_dotenv('.env') est = pytz.timezone('US/Eastern') active_blackjack_games = {} diff --git a/modules/misc/backup.py b/modules/misc/backup.py index c2cd3d6..208b227 100644 --- a/modules/misc/backup.py +++ b/modules/misc/backup.py @@ -4,17 +4,15 @@ import subprocess from datetime import datetime import dropbox -from dotenv import load_dotenv logs = logging.getLogger('Racu.Core') -load_dotenv('.env') -oauth2_refresh_token = os.getenv("DBX_OAUTH2_REFRESH_TOKEN") -app_key = os.getenv("DBX_APP_KEY") -app_secret = os.getenv("DBX_APP_SECRET") -instance = os.getenv("INSTANCE") -mariadb_user = os.getenv("MARIADB_USER") -mariadb_password = os.getenv("MARIADB_PASSWORD") +oauth2_refresh_token = os.environ.get("RACU_DBX_OAUTH2_REFRESH_TOKEN") +app_key = os.environ.get("RACU_DBX_APP_KEY") +app_secret = os.environ.get("RACU_DBX_APP_SECRET") +instance = os.environ.get("RACU_INSTANCE") +mariadb_user = os.environ.get("RACU_MARIADB_USER") +mariadb_password = os.environ.get("RACU_MARIADB_PASSWORD") if instance.lower() == "main": dbx = dropbox.Dropbox( diff --git a/requirements.txt b/requirements.txt index 5c2b133..c003540 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,4 @@ py-cord==2.5.0 -python-dotenv==1.0.1 setuptools==69.2.0 pytz==2024.1 dropbox==11.36.2 diff --git a/services/Help.py b/services/Help.py index 5edae0b..5cf79d5 100644 --- a/services/Help.py +++ b/services/Help.py @@ -1,13 +1,10 @@ import discord from discord.ext import commands -from dotenv import load_dotenv from config.parser import JsonCache from lib.embeds.error import HelpErrors -import lib.checks art = JsonCache.read_json("art") -load_dotenv('.env') class RacuHelp(commands.HelpCommand): diff --git a/services/xp_service.py b/services/xp_service.py index cb32d5a..132f928 100644 --- a/services/xp_service.py +++ b/services/xp_service.py @@ -2,13 +2,11 @@ import os import time from discord.ext import commands -from dotenv import load_dotenv from db import database -load_dotenv('.env') -xp_gain_per_message = int(os.getenv("XP_GAIN_PER_MESSAGE")) -xp_gain_cooldown = int(os.getenv("XP_GAIN_COOLDOWN")) +xp_gain_per_message = int(os.environ.get("RACU_XP_GAIN_PER_MESSAGE")) +xp_gain_cooldown = int(os.environ.get("RACU_XP_GAIN_COOLDOWN")) class XpService: