Версия:

Инструкция по установке экземпляра ПО “Сервис видеоконсультаций Voda”

CCS Deployment - Универсальная система развертывания

Поддерживаемые операционные системы скрипта развертывания

Подключитесь на пустой сервер (OS предпочтительно Debian)

Либо используя пароль, либо по публичному ключу.

Как получить публичный ключ на вашем компьютере:{

Сменить root пароль на чистой системе (необязательно)

Сгенерировать новый пароль (не забудьте сохранить его себе)

openssl rand -base64 16

Установить новый пароль (если вы только получили пароль от провайдера на чистую ОС)

passwd

Быстрая установка на чистую ОС

Подготовка на чистой системе

На минимальной установке Linux (например, Debian minimal) выполните следующие команды:

# Под root
# Создаем мастер-скрипт установки и делаем его исполняемым. Внутрь копируем содержимое prepareOS/first.sh
vi first.sh && chmod +x first.sh

# Запускаем установку
./first.sh

Скопируйте содержимое скрипта prepareOS/first.sh из репозитория или документации.

# Запускаем установку
./first.sh

Что происходит при запуске

Скрипт first.sh автоматически выполнит:

  1. Поиск конфигураций - найдет существующие файлы конфигурации установки
  2. Определение ОС - автоматически определит дистрибутив и версию
  3. Установку зависимостей - установит git, curl, wget, vim, sudo
  4. Создание пользователя - создаст или выберет пользователя для CCS
  5. Клонирование репозитория CCS.Deployment - скачает проект РАЗВЕРТЫВАНИЯ с GitFlic или GitHub
  6. Запуск мастера установки - автоматически запустит основной процесс установки

Параметры и опции скрипта first.sh

Использование

# Интерактивный режим (рекомендуется)
./first.sh

# Использование готовой конфигурации
./first.sh /path/to/config.cfg

Интерактивные опции

Выбор конфигурации

Управление пользователями

Настройка паролей (для новых пользователей)

Управление паролями:

Выбор репозитория

Методы авторизации Git

Настройка под пользователем

В конце скрипт спросит, начать ли установку под пользователем. В текущей реализации она ничего не делает, так как вам нужно самостоятельно переподключиться под пользователем и выполнить указанные действия (см. инструкцию дальше).

Повторное использование

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

Использование сохраненной конфигурации

# Скрипт автоматически найдет и предложит использовать
# существующие конфигурации при повторном запуске
./first.sh

Ручное указание конфигурации

./first.sh /path/to/ccs_install_20250911_123456.cfg

Что делать дальше (под пользователем)

Войти под созданным пользователем:

Открыть и настроить config.sh (через vim или удаленный редактор в IDE или специальном ПО):

vim ~/config.sh
# заполните параметры (см. ниже) и установите
config_is_ready=1

Настройки config.sh

DNS

Для тех доменов, которые вы указали в конфиге необходимо прописать A и AAAA записи вашего сервера. AAAA может быть не обязательн, но если он есть, то должен указывать корректно. В противном случае certbot не сможет корректно подтвердить владение сервером и не выпустит сертификаты.

Установить сервисы из конфига (пример):

Авторизация в docker

Во время установки, система запрашивает образы из docker. Если образов много, или если вы делаетенесколько попыток (так как забыли что-то указать в конфиге или еще по каким причинам), вы можете столкнуться с лимитом на неавторизованные запросы.

You have reached your unauthenticated pull rate limit. https://www.docker.com/increase-rate-limit

Чтобы избежать этого, или по факту, авторизуйтесь в докере (вам нужен аккаунт на docker.com):

# Скрипт использует podman, а не docker, поэтому используем его
podman login docker.io
Запуск установки

Чтобы запустить установку, наберите start.sh имя_команды список_сервисов_к_которым_применить_команду

Вы всегда можете просто запустить ./start.sh и получить помощь по командам и синтаксису. А также список прописанных в конфиге сервисов “Available services:”

./start.sh install db nginx ccs_app ccs_app_front backup

Следуйте инструкциям скрипта.

  # Под root
  sudo /home/ccs_voda/ccs-prepare/open_ports_for_coturn.sh ccs_voda

Правка конфига конкретного сервиса после установки

Рассмотрим на примере сервиса Voda. Ключевые параметры уже заполнены, такие как настройки подключения к БД и прочее.

После изменения и сохранения конфигурации требуется перезапустить сервис, а также nginx

./start.sh restart ccs_app nginx

SSL‑сертификаты: выпуск и автообновление

Как установить

После установки сервисов, включая nginx, и настройки DNS для указанных доменов, можно выпускать сертификаты.

Это делается под root пользователем из домашней директории.

# под root
#./cert.sh <имя_пользователя>
./cert.sh ccsuser

Необходимо ответить на стандартные вопросы certbot, указав почту администратора и согласившись с лицензией.

После успешного выпуска, нужно снова зайти под пользователем (не через su, а отдельной сессией) и выполнить повторную установку сервиса nginx.

# Под пользователем ccsuser (или того, которого вы создали на начальном этапе)
./start.sh install nginx

При этом скрипт, обнаружив в нужной директории сертификаты, подготовит новые конфиги уже для работы по https, а http будет перенаправляться на https.

Что делает система

Логи и отладка

Готово.

Обновление приложения

Кодовая база

Обновление производится через тот же скрипт ./start.sh и предусмотрено несколько режимов:

После обновления обязательно перезапустить nginx

./start.sh update2 ccs_app && ./start.sh restart nginx

Обновление БД

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

Автоматизированного механизма миграций в текущей версии продукта не имеется, однако разработчик может смерджить необходимые таблицы встроенными средствами. Это может быть сделано на компьютере разработчика, но для этого потребуется скачивать актуальную базу. Или это можно сделать через удаленное подключение к базе на сервере через ssh тунель. Ниже будет описано, как настроить такой доступ.

Действия для обновления

./start.sh restart ccs_app nginx

Настройка тунеля для удаленного доступа к БД

# Пробрасываем локальный порт 3306 к серверному 127.0.0.1:33060
ssh -N -L 3306:127.0.0.1:33060 user@your.server

# Затем подключаемся клиентом к localhost:3306
# host: localhost
# port: 3306
# user/pass: согласно настройкам/приложению

Важно: