From dcde29a8bb1c56d85cb0d66dfded156a8007a873 Mon Sep 17 00:00:00 2001 From: Jukoga Date: Wed, 4 Mar 2026 20:31:07 +0100 Subject: [PATCH] update docker-compose and requirements for database service configuration --- .env.dev | 5 +++++ BH/settings.py | 4 ++-- Dockerfile | 2 +- docker-compose.yml | 23 ++++++++++++++++++++--- requirements.txt | Bin 640 -> 640 bytes 5 files changed, 28 insertions(+), 6 deletions(-) create mode 100644 .env.dev diff --git a/.env.dev b/.env.dev new file mode 100644 index 0000000..8d73f7d --- /dev/null +++ b/.env.dev @@ -0,0 +1,5 @@ +SECRET_KEY=your_secret_key +DB_NAME=your_db_name +DB_USER=your_db_user +DB_PASSWORD=your_db_password +DB_ROOT_PASSWORD=your_db_root_password diff --git a/BH/settings.py b/BH/settings.py index a876ea9..ffaa220 100644 --- a/BH/settings.py +++ b/BH/settings.py @@ -88,8 +88,8 @@ DATABASES = { 'NAME': os.getenv('DB_NAME'), 'USER': os.getenv('DB_USER'), 'PASSWORD': os.getenv('DB_PASSWORD'), - 'HOST': os.getenv('DB_HOST'), - 'PORT': os.getenv('DB_PORT'), + 'HOST': 'db', + 'PORT': '3306', } } diff --git a/Dockerfile b/Dockerfile index 0398b45..3e9c5a0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # Use an official Python runtime as a parent image -FROM python:3.11-slim-bookworm +FROM python:3.13-slim-trixie # Set environment variables ENV PYTHONDONTWRITEBYTECODE=1 diff --git a/docker-compose.yml b/docker-compose.yml index c064a3e..2ca4b49 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,17 +1,34 @@ services: + db: + image: mariadb:12.2 + env_file: + - .env + environment: + MYSQL_DATABASE: ${DB_NAME} + MYSQL_USER: ${DB_USER} + MYSQL_PASSWORD: ${DB_PASSWORD} + MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD} + volumes: + - mariadb_data:/var/lib/mysql + restart: unless-stopped + django: build: . env_file: - .env volumes: - .:/app - restart: - unless-stopped + restart: unless-stopped ports: - "3030:3030" - network_mode: "host" + depends_on: + - db command: > sh -c "python manage.py makemigrations blog --noinput && python manage.py migrate --noinput && python manage.py collectstatic --noinput && gunicorn BH.wsgi:application --bind 0.0.0.0:3030 --workers ${GUNICORN_WORKERS:-3}" + +volumes: + mariadb_data: + diff --git a/requirements.txt b/requirements.txt index c4150bf4b4a6cfbff90dee6f486fc2e52fc6f061..d4a27d4ec513a924d055515bfad4812fcb0105ad 100644 GIT binary patch delta 13 UcmZo*ZD8H7jgiq}@^;3P03N&qzW@LL delta 13 UcmZo*ZD8H7jgirO@^;3P03Nplz5oCK