mitaba
Языки
- JavaScript72,6%
- CSS21,6%
- Python5,3%
- Makefile0,4%
- Остальные0,1%
Mitabá
Проект использует Docker, в частности утилиту Docker Compose в качестве платформы разработки и деплоя, поэтому все операции разворачивания и администрирования будут проходить через него. Данный ридми поможет преодолеть нубическость в нём.
Установите Docker и убедитесь в успехе через и .
Docker для самых маленьких
Поднять докер обычно, но так как я использую несколько файлов конфигурации, то задаю его . Остановить докер , а если вообще хочется подчистить контейнеры и volumes, то с ключом : .
Когда запущены контейнеры докера, в них можно входить через , где название контейнера (оно задается в схеме для docker-compose), для примера моего основного контейнера приложения.
Первоначальная настройка базы данных
Для этого зайти через внутрь работающего контейнера.
Администрирование
Полезные для работы с проектом команды заданы в в корне проекта, запускаются например или (запуск/остановка докера). Это для тех счастливчиков, кто UNIX. Все остальные (windows) подсматривают и самостоятельно запускают цепочки команд.
Обновление сертификатов (production)
Обновление сертификатов (development)
Очистка экосистемы докера
При работе с докером он зажирает место очень быстро, поэтому нужно периодически чистить лишнее, см. хелп докера. Но будь осторожен не похерь volume базы данных!
Дамп базы
Периодически делай дамп базы (TODO).
Перенос на другой сервер
Что нужно взять со старого [OLD_SERVER]?
- Забрать архив сертификатов:
- Забрать дампы базы данных
Развернуть проект на новом сервере [NEW_SERVER]
- Клонируем код приложения
- Кладем production-настройки Django на новый сервер
- Переносим сертификаты
- Переносим базу данных
Далее, важно чтобы база данных была пустая. Можно на всякий случай удалить и заново собрать докер, но без миграций:
В принципе, должно сразу и заработать. Возможные проблемы:
- Не забыть перенести доменное имя - для обновления сертификатов это понадобится (правда позже)
- Проблемы с доступом. Проще все делать через root. Для утилиты scp важно чтобы создаваемые папки были от пользователя, под которым заходим. Помнить что ssh берет ключ, но с именем пользователя будет тупить, имя нужно явно задавать. В общем, решать проблемы доступа по мере поступления - в зависимости от условий нового сервера шаманский бубен будет по-другому стучать.
- Много других проблем, но все поправляемо, главное:
DON'T PANIC.
Смена IP-адреса
Не забыть прописать в сервера
xx.xx.xx.xx mitaba.ru mitaba
xx.xx.xx.xx www.mitaba.ru
И поменять IP адрес на хостинге (в разделе "Записи DNS для зоны mitaba.ru")
Разработка
Устанавливаем Docker
Клонируем проект
Делаем сертификаты
Поднимаем
Заходим внутрь и делаем миграции и админа админки для
Пересобрать докер-образ
При изменении зависимостей в нужно пересобирать образ через (автоматически докер 'поднимется' после завершения сборки)
Задеплоить изменения в регистр докера . Возможно, сначала придется залогиниться в Docker Hub
Обойти блокировку Docker Hub
Инструкция: https://www.netangels.pro/article/docker-hub-zablokirovan-v-rf/