<p>1. Описание проекта</p><p>Компания планирует перевести существующую инфраструктуру ERPNext с виртуальных машин (Ubuntu на Windows Hyper-V) на контейнеризированное развертывание с использованием Dokploy. ERPNext используется в нескольких организациях, каждая из которых имеет 3 экземпляра системы (тестовая, рабочая, продакшн).</p><p>Необходимо разработать готовое контейнеризированное решение, которое позволит:</p><p>Развертывать ERPNext в изолированных контейнерах с вынесенной базой данных.</p><p>Автоматизировать процесс развертывания новых экземпляров ERPNext.</p><p>Гибко управлять версиями системы и их обновлениями.</p><p>Настроить систему резервирования и восстановления данных.</p><p>2. Технические требования</p><p>2.1. Архитектура контейнеров</p><p>ERPNext должна быть развернута с разделением сервисов:</p><p>? Один контейнер для ERPNext (включает веб-сервер, фоновые задачи, планировщик)</p><p>? Отдельный контейнер для Redis (используется как кеш и брокер задач)</p><p>? Отдельный контейнер для <a href="http://Socket.IO">Socket.IO</a> (обеспечивает real-time обновления)</p><p>? Отдельный сервер/контейнер для базы данных MariaDB (или внешний сервер БД)</p><p>? Traefik/Nginx в качестве реверс-прокси для маршрутизации трафика</p><p>2.2. Управление процессами</p><p>В контейнере ERPNext должен использоваться Supervisor или аналогичный процесс-менеджер.</p><p>Должна быть возможность автоматического перезапуска процессов в случае их сбоя.</p><p>2.3. Инструменты управления и деплоя</p><p>Использовать Dokploy для удобного управления контейнерами через веб-интерфейс.</p><p>Поддержка автоматического развертывания новых экземпляров ERPNext по шаблону.</p><p>Возможность обновления ERPNext с минимальным временем простоя.</p><p>Контейнеры должны быть версированы и управляемы через CI/CD.</p><p>2.4. Сетевые настройки и безопасность</p><p>Все сервисы должны быть развернуты в изолированной сети.</p><p>Доступ к ERPNext – только через HTTPS (Let's Encrypt).</p><p>База данных должна быть изолирована и не доступна извне.</p><p>Документированная стратегия резервного копирования и восстановления.</p><p>Настроить логирование и мониторинг работы контейнеров.</p><p>2.5. Масштабируемость и отказоустойчивость</p><p>В будущем возможен переход на Kubernetes – описать возможность миграции.</p><p>Возможность горизонтального масштабирования ERPNext (много экземпляров).</p><p>Автоматическое распределение нагрузки между контейнерами.</p><p>3. Ожидаемый результат</p><p>? Готовая рабочая конфигурация Docker + Dokploy для развертывания ERPNext.</p><p>? Документация по установке, обновлению, резервированию и восстановлению данных.</p><p>? CI/CD-пайплайн для автоматического обновления и деплоя.</p><p>? Оптимизированная и безопасная архитектура контейнеров.</p>