diff --git a/.env.example b/.env.example index 02a200b..f4b6692 100644 --- a/.env.example +++ b/.env.example @@ -1,6 +1,7 @@ LOCKOUT_BOT_TOKEN="" LOGGING_CHANNEL="" +DB_HOST="127.0.0.1" DB_NAME="" DB_USERNAME="" DB_PASSWORD="" -CHALLONGE_KEY="" \ No newline at end of file +CHALLONGE_KEY="" diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..5241e29 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,16 @@ +FROM python:3.8.2-buster + +# Copy files to /app +ADD . ./app + +# Set workdir +WORKDIR /app + +# Install dependencies +RUN apt-get install -y make automake gcc g++ + +# Install python dependencies +RUN pip install -r requirements.txt + +# Run the bot +CMD ["python", "main.py"] diff --git a/data/dbconn.py b/data/dbconn.py index 903d119..5b033dd 100644 --- a/data/dbconn.py +++ b/data/dbconn.py @@ -10,7 +10,7 @@ class DbConn: def __init__(self): load_dotenv('.env') self.conn = psycopg2.connect(database=os.environ.get("DB_NAME"), user=os.environ.get("DB_USERNAME"), - password=os.environ.get("DB_PASSWORD"), host="127.0.0.1", port="5432") + password=os.environ.get("DB_PASSWORD"), host=os.environ.get("DB_HOST"), port="5432") self.make_tables() def make_tables(self): @@ -914,4 +914,3 @@ def get_recent_tournaments(self, guild): Tournament = namedtuple("Tournament", "guild name type id url winner time") return [Tournament(x[0], x[1], x[2], x[3], x[4], x[5], x[6]) for x in data] - diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..6119a5d --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,46 @@ +version: '3.0' + +services: + postgres: + container_name: lockout_postgres + image: postgres + environment: + POSTGRES_USER: "" + POSTGRES_PASSWORD: "" + PGDATA: /data/postgres + volumes: + - postgres:/data/postgres + ports: + - "5432:5432" + networks: + - lockout + restart: unless-stopped + + bot: + container_name: lockout_bot + build: . + volumes: + - lockout:/data + networks: + - lockout + depends_on: + - postgres + restart: unless-stopped + environment: + LOCKOUT_BOT_TOKEN: "" + LOGGING_CHANNEL: "" + DB_HOST: "postgres" + DB_NAME: "postgres" + DB_USERNAME: "" + DB_PASSWORD: "" + CHALLONGE_KEY: "" + +volumes: + lockout: + external: false + + postgres: + external: false + +networks: + lockout: