Задачи коротко:
- Нужно настроить сервер, на основе текущей архитектуры и подготовить настройки для работы в продакшине, с точки зрения безопасности и отказоустойчивости (чтобы были оповещения о перегрузке или заполнении памяти).
- Немного доработать текущие контейнеры
Текущий статус:
Есть текущий stage-сервер, на котором все уже частично работает, но не совсем так, как надо.
Сервер: DIgital Ocean / Debian 11 x64.
Автоматизация деплоя: n8n Automation
База данных: postgres, глобально на сервере.
Доставка кода: 3 docker приложения:
1. Backend
- django через Dockerfile
2. Frontend
- nodejs / vue
3. Automation
- n8n
- caddy
Необходимый результат:
Изменить docker compose в рамках приложений, чтобы мы получили:
1. Backend (реализовать работу внутри контейнера)
- django через Dockerfile
- postgres
2. Frontend (без изменений)
- nodejs / vue
3. Automation (выпилить прокси в отдельный докер)
- n8n
4. Reverse Proxy сервер, который распределяет домены по докер приложениям. Нужно сделать, чтобы работал.
- caddy (обсуждаемо), чтобы раскидал домены по докер приложениям.
При деплое, все автоматически собирается на продакшн сервер.
Сервер должен оповещать о каких либо переполнениях или о том, что ему не хватает ресурсов.
Логи не должны переполнять систему, память системы.
Автоматические обновления не должны ломать работу системы.
Задачи:
1. Дать комментарий по архитектуре.
2. Установить и настроить систему ubuntu/debian в digital ocean и систему отказоустойчивой работы
3. Отредактировать docker compose для корректного запуска работы приложений
4. Настроить деплой из gitlab
Хотелось бы иметь возможность работы в будущем, дополнительные задачи в рамках этого проекта по улучшениям или изменениям в текущей архитектуре.