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 c4150bf..d4a27d4 100644 Binary files a/requirements.txt and b/requirements.txt differ