Ручное развертывание

Запустите Circlus на своем сервере.

Это ручной путь для первых пользователей: подготовьте VPS, привяжите домен, разверните open-source сервер Circlus через Docker или вручную, а затем вернитесь в приложение и создайте первый приватный круг.

Что должно быть готово до приложения

Приложению нужен настоящий HTTPS-адрес сервера. Ключ доступа к серверу нельзя отправлять по обычному HTTP.

VPS

Для старта достаточно небольшого Linux VPS. Выберите провайдера, которому доверяете, и используйте SSH-ключи вместо пароля.

Домен

Направьте домен или поддомен на IP-адрес VPS. IP-адрес можно использовать только если для него работает HTTPS с валидным сертификатом.

HTTPS

Поставьте перед backend reverse proxy, например Caddy или Nginx, и выпустите TLS-сертификат. Caddy умеет делать это автоматически.

Managed services

Для push-уведомлений в фоне и надежного TURN relay нужна отдельная заявка на managed services.

Ручной сценарий установки

Начните с open-source репозитория. Самый короткий путь — Docker Compose, но при желании можно запустить PostgreSQL, сервер и вспомогательные сервисы вручную.

Арендуйте и подготовьте VPS

Создайте Linux VPS, добавьте SSH-ключи, установите runtime из инструкции репозитория и оставьте открытыми только нужные порты.

Привяжите домен к серверу

Создайте DNS-запись A или AAAA, например circle.example.com, которая указывает на публичный IP вашего VPS.

Разверните сервер Circlus

Склонируйте репозиторий, настройте переменные окружения, инициализируйте базу данных и запустите backend-процесс. В репозитории будут инструкции для Docker и ручного запуска.

Настройте HTTPS

Настройте web server или reverse proxy так, чтобы https://circle.example.com перенаправлял API-запросы на запущенный backend Circlus.

Получите ключ доступа к серверу

Выполните серверную команду из репозитория, чтобы создать короткоживущий ключ доступа. Относитесь к нему как к паролю.

Запросите managed services, когда понадобится

Сервером можно пользоваться, пока заявка ожидает одобрения. Сообщения и почти все функции работают сразу, а push-уведомления и TURN relay ждут активации.

Создайте первый круг в приложении

Откройте Circlus, выберите настройку пустого сервера, введите HTTPS-домен и ключ доступа. Приложение создаст первый круг, identity владельца и права администратора сервера.

Добавляйте следующие круги позже

Когда первый круг активен, новые круги создаются через Управление сервером. Для них уже нужна identity администратора сервера, а не host access key.

Для managed push и TURN сохраните выданные credentials в переменных окружения сервера и дождитесь одобрения заявки. Не передавайте пользователям прямые сервисные секреты.

Managed services

Сервер можно установить и использовать до одобрения заявки. Сообщения, круги, identities и прямые peer-to-peer звонки могут работать сразу; одобрение включает push-уведомления и managed TURN relay.

Запросить credentials

Форма генерирует server-to-service push и ICE credentials для вашего Circlus сервера. Сохраните выданные переменные окружения сразу, затем дождитесь одобрения.

В заявку Circlus уйдет ваш контакт и server id, но не прямые push provider или coturn-секреты.

Сохраните это в окружении сервера

Shared secrets показываются здесь один раз. Заявка останется pending, пока Circlus не одобрит server id.


          

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

Только HTTPS

Ключ доступа к серверу должен отправляться только по HTTPS. Обычный HTTP допустим только для локальной разработки на машине, которую вы контролируете.

Короткий срок жизни ключа

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

Разные роли сервера и круга

Ключ сервера подтверждает контроль над пустым VPS. Когда первый круг принят, его владелец также получает права администратора сервера для дальнейшего управления.

Резервные копии

Храните backup базы данных и конфигурации сервера. Потеря VPS не должна означать потерю контроля над вашими кругами.

Готовы развернуть сервер?

Начните с инструкций в репозитории, а когда HTTPS-сервер будет доступен, вернитесь в приложение Circlus.

Открыть GitHub