fix: volumes for database -- /home/app/web/database

This commit is contained in:
2026-03-20 19:10:24 +03:00
parent 8fa96cae66
commit a60972d70b

View File

@@ -1,3 +1,4 @@
% cat docker-compose.yaml
# ==============================================================================
# Docker Compose для PRODUCTION
# Этот файл запускается на боевом сервере.
@@ -5,7 +6,8 @@
# Вариант 2 (если оставили имя): docker compose -f docker-compose.prod.yml up -d
# ==============================================================================
version: '3.8'
# В новой версии Docker не нужно
# version: '3.8'
services:
# --- ОCНОВНОЙ СЕРВИС: DJANGO + GUNICORN + WHITENOISE ---
@@ -27,13 +29,14 @@ services:
# 3. КОМАНДА ЗАПУСКА (Замена entrypoint.sh)
# Выполняем цепочку команд внутри контейнера при запуске:
# 1. Миграции
# 2. Collectstatic
# 3. Создаем папку nginx в примонтированном томе конфигов (если нет)
# 4. Копирование конфига Nginx с авто-заменой путей через sed (замену реального пути на хосте получаем через переменную окружения HOST_PROJECT_PATH)
# 5. Инициализация боевого конфига (если нет)
# 6. Создаем папку для ошибок и копируем туда статические страницы 404/500
# 7. Запуск Gunicorn
# a. Миграции
# b. Collectstatic
# с. Создаем папку nginx в примонтированном томе конфигов (если нет)
# d. Копирование конфига Nginx с авто-заменой путей через sed (замену реального пути на хосте получаем
# через переменную окружения HOST_PROJECT_PATH)
# e. Инициализация боевого конфига (если нет)
# f. Создаем папку для ошибок и копируем туда статические страницы 404/500 (там их увидит Nginx хоста)
# g. Запуск Gunicorn
command: >
sh -c "python manage.py migrate --noinput &&
python manage.py collectstatic --noinput &&
@@ -57,8 +60,8 @@ services:
volumes:
# База данных
# Монтируем папку database с хоста в папку с базой внутри контейнера.
# Путь в контейнере: /app/database (так как Django ищет базу в BASE_DIR.parent/database)
- ./database:/app/database
# Путь в контейнере: /home/app/web/database (так как Django ищет базу в BASE_DIR.parent/database)
- ./database:/home/app/web/database
# Медиа (папка media должна быть рядом с docker-compose.yml)
- ./media:/app/public/media
@@ -67,7 +70,7 @@ services:
# Это нужно, чтобы скрипт запуска мог положить туда .example конфиг и прочитать боевой конфиг.
- ./config:/nginx_configs_host
# 6. Запускать от имени пользователя с UID 1000 и GID 1000
# 6. Пользователь и права
user: "1000:1000"
# 7. Переменные окружения