feat: Implement Dockerized multi-tenant Django application with initial setup for database, migrations, and superuser creation.

This commit is contained in:
2025-12-12 18:04:36 +03:00
parent 0046b36e89
commit 4cbc5c07b9
7 changed files with 152 additions and 27 deletions

View File

@@ -4,6 +4,7 @@ version: '3.8'
# YAML файл хранится в /Volume1/DockerYAML/mix/
services:
# PostgreSQL база данных
db:
image: postgres:15-alpine
@@ -11,15 +12,11 @@ services:
restart: unless-stopped
env_file:
- /Volume1/DockerAppsData/mixapp/app/docker/.env.docker
environment:
POSTGRES_DB: ${DB_NAME:-inventory_db}
POSTGRES_USER: ${DB_USER:-postgres}
POSTGRES_PASSWORD: ${DB_PASSWORD:-postgres}
POSTGRES_INITDB_ARGS: "--encoding=UTF8 --locale=C"
volumes:
- /Volume1/DockerAppsData/mixapp/postgres:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${DB_USER:-postgres} -d ${DB_NAME:-inventory_db}"]
test: [ "CMD-SHELL", "pg_isready -U ${DB_USER:-postgres} -d ${DB_NAME:-inventory_db}" ]
interval: 10s
timeout: 5s
retries: 5
@@ -35,7 +32,7 @@ services:
volumes:
- /Volume1/DockerAppsData/mixapp/redis:/data
healthcheck:
test: ["CMD", "redis-cli", "ping"]
test: [ "CMD", "redis-cli", "ping" ]
interval: 10s
timeout: 5s
retries: 5
@@ -52,7 +49,16 @@ services:
command: web
env_file:
- /Volume1/DockerAppsData/mixapp/app/docker/.env.docker
environment:
- ALLOWED_HOSTS=mix.smaa.by,.mix.smaa.by,localhost,127.0.0.1
- CSRF_TRUSTED_ORIGINS=https://mix.smaa.by,https://*.mix.smaa.by
- DOMAIN_NAME=mix.smaa.by
- DB_HOST=db
- REDIS_HOST=redis
volumes:
# Монтируем код приложения для горячего обновления (опционально, если нужно обновлять без пересборки)
# - /Volume1/DockerAppsData/mixapp/app:/app
# Медиа и статика
- /Volume1/DockerAppsData/mixapp/media:/app/media
- /Volume1/DockerAppsData/mixapp/static:/app/staticfiles
ports:
@@ -75,7 +81,11 @@ services:
command: celery-worker
env_file:
- /Volume1/DockerAppsData/mixapp/app/docker/.env.docker
environment:
- DB_HOST=db
- REDIS_HOST=redis
volumes:
- /Volume1/DockerAppsData/mixapp/app:/app
- /Volume1/DockerAppsData/mixapp/media:/app/media
depends_on:
db:
@@ -95,6 +105,11 @@ services:
command: celery-beat
env_file:
- /Volume1/DockerAppsData/mixapp/app/docker/.env.docker
environment:
- DB_HOST=db
- REDIS_HOST=redis
volumes:
- /Volume1/DockerAppsData/mixapp/app:/app
depends_on:
db:
condition: service_healthy