Files
MES_Core/docker-compose.yml
ackFromRedmi f759c2c17e
All checks were successful
Deploy MES Core / deploy (push) Successful in 9s
Обновил модели: добавил Компании и Габариты
2026-03-28 11:49:01 +03:00

52 lines
2.6 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

name: prodman # Имя проекта, которое будет префиксом для всех контейнеров и сетей
services:
# --- БАЗА ДАННЫХ ---
db:
image: postgres:15-alpine # Легкий образ Postgres на базе Alpine Linux
restart: unless-stopped # Перезапускать всегда, кроме случаев, когда ты сам его выключил
environment:
# Данные тянутся из твоего файла .env
- POSTGRES_DB=${DB_NAME}
- POSTGRES_USER=${DB_USER}
- POSTGRES_PASSWORD=${DB_PASS}
volumes:
# Храним базу в именованном томе, чтобы данные не пропали при удалении контейнера
- postgres_data:/var/lib/postgresql/data
# --- ПРИЛОЖЕНИЕ (DJANGO) ---
web:
build: . # Собирает образ из Dockerfile в текущей папке
restart: unless-stopped
env_file:
- .env # Прокидывает все секреты и настройки внутрь Python
volumes:
# Общие папки для статики и картинок. Сюда Django их складывает.
- staticfiles:/app/staticfiles
- mediafiles:/app/media
expose:
- "8000" # Открывает порт ТОЛЬКО внутри сети Docker для Nginx
depends_on:
- db # Сначала запустится база, потом приложение
# --- ВЕБ-СЕРВЕР (ФАСАД) ---
nginx:
image: nginx:1.25-alpine
restart: unless-stopped
volumes:
# Основной конфиг маршрутизации
- ./nginx/default.conf:/etc/nginx/conf.d/default.conf:ro
# Читаем статику и медиа, которые подготовил контейнер 'web'
# :ro (read-only) — защита: даже если Nginx взломают, файлы не удалят
- staticfiles:/app/staticfiles:ro
- mediafiles:/app/media:ro
ports:
- "80:80" # Единственная "дырка" в мир: порт 80 сервера -> порт 80 контейнера
depends_on:
- web # Nginx запустится только после Django
# Описание "жестких дисков" (Volumes), которые живут дольше контейнеров
volumes:
postgres_data: # Для данных БД
staticfiles: # Для CSS, JS и картинок интерфейса (collectstatic)
mediafiles: # Для загруженных тобой чертежей и фото