Skip to content

Конфигурация приложения backend ​

Скачать пример файла конфигурации

Файл монтируется в контейнер по пути /flip/cfg/config.yaml.

Область конфигурации

Файл содержит параметры, управляемые на стороне установки: подключения к внешним сервисам, домен, секреты и способ авторизации. Интервалы фоновых задач, время жизни токенов и кэшей, лимиты и тарифные ограничения фиксированы в образе и в конфигурационном файле не задаются.

Секреты

Все поля с пометкой «секрет» обязательны и должны быть уникальными для установки. Генерация значения:

bash
openssl rand -hex 16

Описание конфигурационных полей ​

Domain ​

  • Domain: Базовый URL приложения с путём /app. Используется в ссылках в письмах и при SSO-авторизации.
    Пример: https://example.flip-chart.ru/app

LogLevel ​

  • LogLevel: Уровень логирования: debug, info, warn, error.
    Пример: info

Server ​

  • Host: Адрес прослушивания сервера.
    Пример: 0.0.0.0
  • Port: Порт сервера. Должен совпадать с upstream в конфигурации nginx и с flipApi.internalUrl в конфигурации mcp-server.
    Пример: 9000
  • Timeout: Тайм-аут обработки HTTP-запроса.
    Пример: 10s

Postgres ​

  • Address: Адрес сервера PostgreSQL.
    Пример: flip-postgres
  • Port: Порт PostgreSQL.
    Пример: 5432
  • User: Имя пользователя.
    Пример: flip
  • Password: Пароль.
    Пример: secret-passwd
  • Database: Имя базы данных.
    Пример: flip
  • Driver: Драйвер миграций. Всегда postgres.
  • SSLmode: Режим SSL-соединения: disable, require, verify-full.
    Standalone-установка с PostgreSQL в контейнере — disable; внешняя БД — require или verify-full.
    Пример: disable
  • SSLRootCert: Путь к корневому сертификату внутри контейнера. Обязателен при SSLmode: verify-full; файл должен быть смонтирован в контейнер.
    Пример: /flip/certs/ca.pem
  • MigrationDir: Каталог миграций внутри контейнера. Всегда /flip/migrations.

Миграции

Миграции базы данных применяются автоматически при каждом запуске контейнера backend.

S3 ​

  • AwsAccessKey: Ключ доступа к S3-хранилищу.
    Пример: flip-minioadmin
  • AwsSecretKey: Секретный ключ.
    Пример: flip-minioadminsecret
  • AwsRegion: Регион хранилища. Для MinIO значение произвольное.
    Пример: ru-central1
  • AwsUrl: URL S3-хранилища.
    Пример: http://flip-minio:9000
  • AWSPartitionID: Идентификатор раздела AWS. Пустое значение.
    Пример: ""
  • BucketName: Имя бакета.
    Пример: flip
  • Folders: Префиксы для хранения данных внутри бакета. Значения фиксированы.
    • FlipsAvatarsFolder: flips-avatars/
    • TeamsAvatarsFolder: teams-avatars/
    • UsersAvatarsFolder: avatars/
    • ElementsFolder: elements/
    • CommentsFolder: comments/
    • DocsFolder: documents/
    • LinksFolder: links/
    • PresentationFolder: presentations/
    • ShapesFolder: shapes/

Примечание

Сервисы backend и file-handlers должны быть подключены к одному S3-хранилищу и одному бакету.

RedisClient (Valkey) ​

  • Address: Адрес сервера Valkey.
    Пример: flip-valkey:6379
  • Username: Имя пользователя. Пустое значение, если ACL не используется.
    Пример: ""
  • Password: Пароль. Пустое значение, если не используется.
    Пример: ""
  • DB: Номер базы данных.
    Пример: 0

Примечание

Сервисы backend, file-handlers и mcp-server должны быть подключены к одному экземпляру Valkey. Поддерживается только standalone-режим Valkey (без Sentinel и Cluster).

Mail ​

  • Host: Адрес SMTP-сервера.
    Пример: smtp.example.ru
  • Port: Порт SMTP-сервера.
    Пример: 587
  • User: Имя пользователя SMTP.
    Пример: user
  • Password: Пароль SMTP.
    Пример: password
  • From: Адрес отправителя.
    Пример: welcome@example.ru

Auth ​

Секция настроек авторизации.

CommonAuthConfig ​

  • CommonRegistrationFlow: Самостоятельная регистрация пользователей по e-mail. При false доступ в приложение — только по приглашению или через SSO/LDAP.
    Пример: true

ConfirmationConfig ​

  • CodeDigits: Количество цифр в коде подтверждения e-mail.
    Пример: 6
  • Secret: Секрет для подписи кодов подтверждения.
    Пример: 3f1c9a7e2b8d4c6a1e5f0b9d7c3a2e81

HashPasswordSalt ​

  • HashPasswordSalt: Соль для хеширования паролей. Секрет.

FlipPasswordCipherSecret ​

  • FlipPasswordCipherSecret: Секрет для шифрования паролей доступа к доскам.

TokenConfig ​

  • AccessToken.Secret: Секрет для подписи access-токенов.
  • RefreshToken.Secret: Секрет для подписи refresh-токенов.
  • FlipPasswordToken.Secret: Секрет для подписи токенов доступа к доскам, защищённым паролем.

KeyCloakAuthConfig ​

Прямая интеграция с Keycloak. Для SSO через OIDC/SAML не используется — см. Настройка SSO.

  • Enable: Включение интеграции.
    Пример: false
  • Address: Адрес сервера Keycloak.
    Пример: https://keycloak.example.ru
  • ClientID: Идентификатор клиента.
  • ClientSecret: Секрет клиента.
  • Realm: Имя realm.

LdapAuthConfig ​

См. Интеграция с LDAP.

  • Enable: Включение авторизации через LDAP.
    Пример: false
  • Address: URL LDAP-сервера.
    Пример: ldap://ldap.example.ru:389
  • BaseDN: Базовый DN для поиска пользователей.
    Пример: dc=example,dc=ru
  • BindDN: DN служебного пользователя для подключения.
    Пример: cn=admin,dc=example,dc=ru
  • BindPassword: Пароль служебного пользователя.
  • UseTLS: Выполнение STARTTLS после подключения.
    Пример: false
  • Attributes: Имена LDAP-атрибутов.
    • DN: dn
    • CN: атрибут с отображаемым именем пользователя, например cn
    • Mail: атрибут с e-mail, например mail
    • AccountStatus: атрибут статуса учётной записи, например accountStatus

Примечание

Одновременно может быть включён только один из провайдеров: KeyCloakAuthConfig или LdapAuthConfig.

SessionConfig ​

  • Secret: Секрет для подписи пользовательских сессий.

InvitationConfig ​

  • Secret: Секрет для подписи ссылок-приглашений.

FileHandlerServiceConfig ​

  • Enable: Включение взаимодействия с сервисом file-handlers (загрузка документов, конвертация, превью).
    Пример: true
  • Address: Адрес API сервиса file-handlers.
    Пример: http://flip-file-handlers:8080/api

Documents ​

  • Enable: Включение функциональности документов на доске.
    Пример: true

McpAgentTokens ​

Авторизация AI-агентов через MCP-сервер.

  • Enable: Включение выдачи токенов агентам по OAuth. Обязательно true при использовании MCP-сервера.
    Пример: true
  • OAuth.Clients: Список OAuth-клиентов. По умолчанию содержит встроенного клиента flip-mcp (соответствует flipApi.clientId в конфигурации mcp-server) с callback-адресами http://localhost:*, https://claude.ai/api/mcp/auth_callback, https://claude.com/api/mcp/auth_callback и правами flip:read, flip:write, comment:read. Указывается только при необходимости заменить встроенный список; заданное значение замещает его полностью.
    • id: Идентификатор клиента.
    • name: Отображаемое имя на экране подтверждения доступа.
    • redirectURIPatterns: Разрешённые callback-адреса MCP-клиентов.
    • scopes: Выдаваемые права.
    • isPublic: Публичный клиент (PKCE, без client secret). Значение true.

Документация flip On-Premise и Cloud