Запуск КБ для высоко­нагруженных систем

Данная инструкция предполагает использование КБ на сервере под управлением Linux.

Стандартный образ контейнера докер содержит в себе предустановленную базу данных, но это бывает не всегда удобно т.к. большая нагрузка может повлиять на скорость работы дистрибутива.

Важно! Чтобы подключить внешнюю базу данных вам нужно использовать образ docker без предустановленной БД и подключить его к существующей БД или к БД в отдельном контейнере.

Вариант 1. Подключение контейнера к существующей БД

У вас должен быть установлен и настроен сервер БД MariaDB версии не ниже 10.6.

Для запуска контейнера с дистрибутивом КБ и его подключения к внешней БД используйте:

а. Команда для запуска контейнера

  docker run -d \
  --name clientbase \
  --restart always \
  -w /var/www/clientbase \
  -e DB_NAME="название базы данных" \
  -e DB_USER="имя пользователя базы данных" \
  -e DB_PASS="пароль базы данных" \
  -e DB_HOST="айпи адрес или доменное имя базы данных" \
  -v cb_files:/var/www/clientbase/public_html \
  -v C:\Clientbase\backup:/var/www/clientbase/backup \
  -p 8080:80 \
  clientbasecrm/3.0.4-php8.1-hl:latest

б. Запуск контейнера через docker-compose.yml

Создайте директорию, например “/opt/clientbase” и создайте в ней файл “docker-compose.yml” с следующим содержимым

version: '3.9'

services:
  application:
    image: clientbasecrm/3.0.4-php8.1-hl:latest
    container_name: application
    restart: always
    working_dir: /var/www/clientbase
    environment:
      - DB_NAME="название базы данных"
      - DB_USER="имя пользователя базы данных"
      - DB_PASS="пароль базы данных"
      - DB_HOST="айпи адрес или доменное имя базы данных"
    volumes:
      # сохраняемые данные
      - cb_files:/var/www/clientbase/public_html
      # место хранения бэкапов
      - ./backup:/var/www/clientbase/backup
    ports:
      - "8080:80"

volumes:
  cb_files:

Выполните команду

docker compose up -d

Дождитесь окончания загрузки и запуска, после этого откройте браузер и перейдите по доменному имени или айпи адресу вашего сервера с указанием порта 8080. В случае если вы все сделали правильно, вы увидите окно установки, где нужно выбрать конфигурацию для работы.

Вариант 2. Подключение контейнера к отдельной БД в контейнере docker

Если у вас нет сервера БД, но предполагается высокая нагрузка и/или количество пользователей КБ ожидается большим, то можно использовать образ docker с БД MariaDB в отдельном контейнере. Для этого создайте директорию, например “/opt/clientbase”, и создайте в ней файл “docker-compose.yml” с следующим содержимым:

img-2025-05-12-11-48-21

Выполните команду

docker compose up -d

Дождитесь окончания загрузки и запуска после чего откройте браузер и перейдите по доменному имени или IP адресу вашего сервера с указанием порта 8080. В случае если вы все сделали правильно, вы увидите окно установки, где нужно выбрать конфигурацию для работы.