+ Наведен порядок в файлах проекта + Наведен порядок в документации + Настроены скрипты установки, развертки и так далее, расширен MakeFile
7.8 KiB
7.8 KiB
🛠️ CatLink Makefile Руководство
Makefile предоставляет набор команд для разработки, сборки и деплоя проекта CatLink.
📋 Обзор команд
Для просмотра всех доступных команд используйте:
make help
🚀 Быстрый старт
Первая установка
make install
Устанавливает и запускает проект в первый раз.
Запуск для разработки
make dev-bg # Запуск в фоне
make dev # Запуск с выводом логов
Проверка статуса
make status # Статус всех сервисов
make health # Проверка работоспособности
🔧 Команды разработки
| Команда | Описание |
|---|---|
make dev |
Запуск в режиме разработки с логами |
make dev-bg |
Запуск в фоне для разработки |
make up |
Запуск с пересборкой (legacy) |
make down |
Остановка всех сервисов |
make stop |
Остановка всех сервисов (alias) |
make restart |
Перезапуск всех сервисов |
🏗️ Команды сборки
| Команда | Описание |
|---|---|
make build |
Сборка контейнеров без кеша |
make build-prod |
Сборка для продакшена |
make rebuild-no-cache |
Полная пересборка без кеша |
make update |
Обновление зависимостей и пересборка |
🚀 Деплой и продакшен
| Команда | Описание |
|---|---|
make deploy |
Развертывание в продакшен |
make ssl |
Настройка SSL с Let's Encrypt |
make ssl-setup |
Создание конфигурации SSL |
make ssl-cert |
Получение SSL сертификата |
make ssl-host-setup |
Локальная настройка nginx + certbot |
Пример использования SSL
# Настройка SSL для домена
make ssl-host-setup DOMAIN=catlinks.kr EMAIL=admin@catlinks.kr
🗄️ Управление базой данных
| Команда | Описание |
|---|---|
make migrate |
Выполнить миграции |
make makemigrations |
Создать новые миграции |
make migrate-full |
makemigrations + migrate + collectstatic |
make superuser |
Создать суперпользователя |
make create-superuser-noninteractive |
Создать суперпользователя из .env |
🔍 Мониторинг и логи
| Команда | Описание |
|---|---|
make logs |
Просмотр всех логов |
make logs-web |
Логи backend |
make logs-frontend |
Логи frontend |
make monitor |
Мониторинг ресурсов |
make status |
Статус сервисов |
make health |
Проверка работоспособности |
🛠️ Инструменты разработки
| Команда | Описание |
|---|---|
make shell |
Django shell |
make shell-db |
Подключение к базе данных |
make test |
Запуск тестов |
make lint |
Проверка кода |
make format |
Форматирование кода |
💾 Бэкап и восстановление
| Команда | Описание |
|---|---|
make backup |
Создать бэкап базы данных |
make restore |
Восстановить из бэкапа |
Пример использования
# Создание бэкапа
make backup
# Восстановление (интерактивно выберите файл)
make restore
⚙️ Автоматизация и помощники
| Команда | Описание |
|---|---|
make generate-env |
Сгенерировать .env файл интерактивно |
make scale |
Масштабирование сервисов |
make info |
Информация о проекте |
Генерация .env файла
make generate-env
Интерактивно создает .env файл из .env.example.
🧹 Очистка
| Команда | Описание |
|---|---|
make clean |
Очистка системы Docker |
make clean-all |
⚠️ Полная очистка (удаляет ВСЕ данные) |
make reset |
⚠️ Сброс к заводским настройкам |
⚠️ Внимание: Команды
clean-allиresetудаляют все данные безвозвратно!
📊 Полезные URL-адреса
После запуска доступны:
- Frontend: http://localhost:3000
- Backend API: http://localhost:8000
- Django Admin: http://localhost:8000/admin
💡 Примеры использования
Стандартный workflow разработки
# Первый запуск
make install
# Ежедневная разработка
make dev-bg
make logs-web # Просмотр логов при необходимости
# Обновление зависимостей
make update
# Работа с базой данных
make migrate-full
make superuser
# Проверка статуса
make health
Подготовка к продакшену
# Финальная сборка
make build-prod
# Деплой
make deploy
# Настройка SSL
make ssl-setup
make ssl-cert
Отладка проблем
# Проверка статуса
make status
make health
# Просмотр логов
make logs
make logs-web
make logs-frontend
# Полная перезагрузка
make restart
# В крайнем случае - полная пересборка
make rebuild-no-cache
🔧 Технические детали
Требования
- Docker и Docker Compose
- Make (обычно предустановлен в Linux/macOS)
- Bash (для выполнения скриптов)
Структура скриптов
Makefile использует скрипты из папки scripts/:
generate_env.sh- Генерация .env файлаcreate_superuser.sh- Создание суперпользователяmigrate_and_collect.sh- Миграции и сбор статикиrebuild_no_cache.sh- Пересборка без кешаssl_setup.sh- Настройка SSL
Переменные окружения
Многие команды используют файл .env. Создайте его через:
make generate-env
🆘 Решение проблем
Проблема: "Command not found: make"
Решение:
# Ubuntu/Debian
sudo apt install make
# macOS
xcode-select --install
Проблема: "Permission denied"
Решение:
# Дайте права на выполнение скриптов
chmod +x scripts/*.sh
Проблема: Контейнеры не запускаются
Решение:
# Проверьте статус
make status
# Попробуйте полную пересборку
make rebuild-no-cache
# Проверьте логи
make logs