Развёртывание🔗
Раздел описывает запуск проекта в двух режимах:
Разработка (Dev)🔗
-
Клонирование и обновление кода
Выполнить клонирование репозитория:
Обновить код при необходимости:
-
Активация демо-данных
Открыть файл
billing/apps.pyи раскомментировать строку:Это активирует сигналы, автоматически создающие тестовые данные (профили, чаты, домены и др.).
-
Подготовка Docker-файлов
- Удалить или переместить в другое место файл
docker-compose.yml - Переименовать
docker-compose_local.yml→docker-compose.yml - Переименовать
Dockerfile_local→Dockerfile
- Удалить или переместить в другое место файл
-
Создание
.envСкопировать из
.env.exampleи отредактировать на свой лад.Не забудь указать порты в env
-
Запуск окружения
Если запуск уже был ранее:
Затем:
Будут развёрнуты:
- PostgreSQL
- Django-проект
Применятся миграции и демо-сигналы.
Будет создан суперюзер с логином admin и паролем admin123
Продакшн (Prod)🔗
- Клонирование и обновление кода Выполнить клонирование репозитория: Обновить код при необходимости:
-
Создание
.envСкопировать из
.env.exampleи задать параметры: -
Docker Compose: запуск зависимостей
docker-compose.ymlдолжен включать:- PostgreSQL
- Redis
- RabbitMQ, UI (порт 15672)
Не забудь настроить порты
-
Установка зависимостей
-
Применение миграций
-
Создание суперпользователя
-
Запуск Gunicorn
-
(Опционально) systemd-сервис
Пример
/etc/systemd/system/markiza.service:После создания:[Unit] Description=Markiza Django App (Gunicorn) After=network.target docker.service Requires=docker.service [Service] User=root Group=root WorkingDirectory=/var/www/proj ExecStart=/var/www/proj/venv/bin/gunicorn config.wsgi:application --bind 0.0.0.0:8000 Restart=always [Install] WantedBy=multi-user.target -
Обновление прод-сервиса
При обновлении: