Skip to content

Установка через мастер

Мастер подготовки (provisioning wizard) — рекомендуемый способ установки self-hosted Copula. Он находится в приложении Copula и запускается до появления любого Space — мастер готовит чистый сервер от начала до конца и возвращает готовый URL Space.

Предварительные условия: сервер, соответствующий требованиям, и лицензионный токен.

Шаги мастера

  1. SSH — укажите хост, SSH-порт (по умолчанию 22), SSH-пользователя и метод аутентификации (пароль или приватный ключ).
  2. License — вставьте LICENSE_TOKEN, скопированный из кабинета.
  3. Env — настройте окружение бэкенда:
    • сначала учётные данные администратора: ADMIN_USER и ADMIN_PASS;
    • затем блок провайдера моделей;
    • затем секреты: JWT_SECRET (ровно 128 hex-символов) и ENCRYPTION_KEY (32 символа) — мастер может предзаполнить и перегенерировать оба;
    • расширенные поля опциональны.
  4. Domain — выберите автоматически сгенерированный поддомен inst-<slug>.copul4.com или укажите собственный FQDN (его запись A уже должна указывать на сервер).
  5. Pre-flight — мастер выполняет SSH-проверки целевого хоста.
  6. Progress — запускается деплой.

Что делает деплой

Пайплайн деплоя выполняет шаги в следующем порядке:

install_docker → dns_setup → render_compose → upload_files → pull_images
→ start_postgres → run_migrations → start_backend → start_proxy → await_health

Шаг start_postgres пропускается, если настроена внешняя база данных.

Что появляется на хосте

Стек разворачивается в /root/copula:

  • /root/copula/docker-compose.yml
  • /root/copula/.env (права файла 0600)
  • /root/copula/Caddyfile

Сервисы:

СервисОбраз / роль
copula-postgrespostgres:16-alpine — только в режиме с подготовленной БД; данные в /root/copula/data; наружу хоста не публикуется
copula-migrateОдноразовая init-задача, собранная из образа самого copula-api (migrate CLI в /usr/local/bin/migrate, файлы миграций в /migrations); запускается перед бэкендом через depends_on: service_completed_successfully
copula-backОпубликованный образ бэкенда; порт хоста 8901${BACKEND_PORT}; тома /root/copula/workspace/workspace, /root/copula/ssh/root/.ssh, ./.env/config/.env:ro, /var/run/docker.sock
copula-cocoindexcocoindex/cocoindex-code:full — демон поиска по коду
copula-caddycaddy:2.11.4-alpine — публикует порты 80/443, автоматически получает сертификат Let's Encrypt для домена инстанса, проксирует запросы на copula-back

После деплоя

Мастер завершается URL space вида https://<domain>. Добавьте этот URL как Space в приложении Copula, чтобы начать работу.

Конфигурация моделей по умолчанию для новых установок — MODEL_PROVIDER=copula с MODEL_NAME=copula-base: LLM-роутер кабинета, которому не нужен API-ключ (учётные данные — лицензионный токен). Провайдеры openrouter и custom выбираются на шаге Env; см. справочник переменных окружения.

Следующий шаг

Reverse proxy и TLS →