From a60972d70bb7214a9aa45a3230e112aac36b0b15 Mon Sep 17 00:00:00 2001 From: erjemin Date: Fri, 20 Mar 2026 19:10:24 +0300 Subject: [PATCH] fix: volumes for database -- /home/app/web/database --- docker-compose.prod.yml | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index 639ab43..5cbcd8c 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -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. Переменные окружения @@ -128,4 +131,4 @@ services: driver: "json-file" options: max-size: "10m" - max-file: "3" + max-file: "3" \ No newline at end of file