Как это работает?¶
Вся система userside целиком вместе со всеми необходимыми для своей работы приложениями, такими как СУБД PostgreSQL, Radis и RabbitMQ, поставляется в виде готовых образов контейнеров. Контейнеры включают в себя всё необходимое для запуска конкретной службы и вам не придется заниматься установкой и настройкой зависимостей для них. Всё необходимое находится внутри контейнера. Образ контейнера — это его слепок, который скачивается с реестра контейнеров автоматически и нужен для запуска контейнера. Внешние модули usm_*
не предоставляются, но могут быть без труда подключены к моей сборке userside точно так же как и к обычной.
В качестве системы управления контейнерами используется Docker Engine, а для запуска групп контейнеров как одной цельной системы используется плагин Docker Compose v2. Docker и Compose легко устанавливаются одной командой.
Система состоит из набора контейнеров: userside, poller, postgres, rabbitmq, redis. Образы контейнеров poller, postgres и rabbitmq доступны в публичном докер-хабе erpuserside на постоянной основе. Образ контейнера redis является официальным, не связанным с userside, и также доступен на докер-хабе.
Образ контейнера userside (собирается мной) расположен на моем персональном сервере (реестре контейнеров), доступ к которому открывается после оплаты.
При первом запуске набора контейнеров, образы для них загружаются автоматически и остаются на сервере до тех пор, пока не будут удалены специально или в результате какой-то чистки системы (например docker system prune
, или docker compose down --rmi all
или подобных действий). Вы сможете сколько угодно раз запускать контейнеры, пока в системе остаются их образы.
После загрузки операционной системы весь набор контейнеров запускается автоматически в правильной последовательности. Внутри контейнера userside находится web-сервер nginx, так что его можно использовать как есть без необходимости установки на сервер чего-то еще кроме докера. Также внутри контейнера userside работает cron и фоновые процессы ядра userside. Система целиком готова к использованию и не требует дополнительных манипуляций. Резервное копирование базы данных выполняется раз в сутки в 7 утра. Резервное копирование файлов вложений (/opt/userside/data/var/attachments
), если оно необходимо, выполняется вами удобным для вас способом.