From 16804aab66588549da84ea503a7180fff2c54834 Mon Sep 17 00:00:00 2001 From: Hassan Abouelela Date: Sat, 23 Jul 2022 14:49:08 +0200 Subject: Clean Up Docker Configuration Rewrites the docker configuration to better work for this project. A docker compose containing the dependencies from our other projects is also included to help aid development. Signed-off-by: Hassan Abouelela --- docker-compose.yaml | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 docker-compose.yaml (limited to 'docker-compose.yaml') diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 00000000..4b6468f1 --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,61 @@ +# Modified version of python-discord/bot + +version: "3.8" + +x-restart-policy: &restart_policy + restart: unless-stopped + +services: + postgres: + << : *restart_policy + image: postgres:13-alpine + environment: + POSTGRES_DB: pysite + POSTGRES_PASSWORD: pysite + POSTGRES_USER: pysite + healthcheck: + test: ["CMD-SHELL", "pg_isready -U pysite"] + interval: 2s + timeout: 1s + retries: 5 + + redis: + << : *restart_policy + image: redis:5.0.9 + ports: + - "6379:6379" + + snekbox: + << : *restart_policy + image: ghcr.io/python-discord/snekbox:latest + init: true + ipc: none + ports: + - "8060:8060" + privileged: true + + web: + << : *restart_policy + image: ghcr.io/python-discord/site:latest + command: ["run", "--debug"] + ports: + - "8000:8000" + tty: true + environment: + DATABASE_URL: postgres://pysite:pysite@postgres:5432/pysite + METRICITY_DB_URL: postgres://pysite:pysite@postgres:5432/metricity + SECRET_KEY: suitable-for-development-only + STATIC_ROOT: /var/www/static + + bot: + << : *restart_policy + build: + context: . + dockerfile: dev/Dockerfile + volumes: + - .:/app:ro + tty: true + env_file: + - .env + environment: + BOT_API_KEY: badbot13m0n8f570f942013fc818f234916ca531 -- cgit v1.2.3 From 3efbae79a275a93fe75fccb46f64408576c4a2cf Mon Sep 17 00:00:00 2001 From: Chris Lovering Date: Sat, 10 Sep 2022 20:43:21 +0100 Subject: Add metricity to docker-compose so web doesn't crash loop --- docker-compose.yaml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'docker-compose.yaml') diff --git a/docker-compose.yaml b/docker-compose.yaml index 4b6468f1..51b4a698 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -19,6 +19,20 @@ services: timeout: 1s retries: 5 + metricity: + restart: on-failure + depends_on: + postgres: + condition: service_healthy + image: ghcr.io/python-discord/metricity:latest + env_file: + - .env + environment: + DATABASE_URI: postgres://pysite:pysite@postgres/metricity + USE_METRICITY: ${USE_METRICITY-false} + volumes: + - .:/tmp/bot:ro + redis: << : *restart_policy image: redis:5.0.9 @@ -46,6 +60,8 @@ services: METRICITY_DB_URL: postgres://pysite:pysite@postgres:5432/metricity SECRET_KEY: suitable-for-development-only STATIC_ROOT: /var/www/static + depends_on: + - metricity bot: << : *restart_policy @@ -55,6 +71,8 @@ services: volumes: - .:/app:ro tty: true + depends_on: + - web env_file: - .env environment: -- cgit v1.2.3 From ed2639b7860c416ac22435e0d095b45724117a8c Mon Sep 17 00:00:00 2001 From: Chris Lovering Date: Sat, 10 Sep 2022 20:45:07 +0100 Subject: Don't mount project root in docker-compose Now that we are using in-project venvs, mounting the entire project root would cause the host's venv to overwrite the image's if present. --- docker-compose.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'docker-compose.yaml') diff --git a/docker-compose.yaml b/docker-compose.yaml index 51b4a698..af882428 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -68,8 +68,9 @@ services: build: context: . dockerfile: dev/Dockerfile - volumes: - - .:/app:ro + volumes: # Don't do .:/app here to ensure project venv from host doens't overwrite venv in image + - ./botcore:/app/botcore:ro + - ./bot:/app/bot:ro tty: true depends_on: - web -- cgit v1.2.3