Skip to content

Docker Compose — Standalone ​

Требования ​

  • Сервер по системным требованиям
  • Docker Engine и плагин Docker Compose
  • Два DNS-имени, указывающие на сервер: приложение (example.flip-chart.ru) и MCP-сервер (mcp.example.flip-chart.ru)
  • SSL-сертификаты на оба имени либо один wildcard/SAN-сертификат
  • Учётные данные SMTP-сервера

Шаги по настройке ​

1. Копирование файлов на сервер ​

Распакуйте на сервере архив поставки с ключами доступа и конфигурационными файлами.

├── credentials
│   ├── authorized_key.json      — ключ доступа к реестру Docker-образов
│   └── License_key.txt          — лицензионный ключ приложения
└── deploy
    ├── docker-compose
    │   ├── .env                 — версия образов и учётные данные PostgreSQL/MinIO
    │   ├── docker-compose.yaml
    │   ├── config
    │   │   ├── backend/config.yaml
    │   │   ├── file-handlers/config.yaml
    │   │   ├── frontend/config.js
    │   │   ├── mcp-server/config.yaml
    │   │   └── nginx
    │   │       ├── default.conf
    │   │       └── certificates/    — каталог для SSL-сертификатов
    │   └── sources
    │       └── gifs.tar
    └── kubernetes

Примеры файлов: docker-compose.yaml, .env, конфигурационные файлы.

Примечание

Все дальнейшие команды выполняются из каталога deploy/docker-compose.

2. SSL-сертификаты ​

Разместите сертификаты в config/nginx/certificates/:

ФайлНазначение
crt.pem, key.pemприложение (example.flip-chart.ru)
mcp-crt.pem, mcp-key.pemMCP-сервер (mcp.example.flip-chart.ru)

При использовании одного сертификата на оба домена в обоих блоках server файла config/nginx/default.conf указываются одни и те же файлы.

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

bash
openssl req -x509 -newkey rsa:4096 -days 365 -nodes \
  -subj "/CN=example.flip-chart.ru" \
  -addext "subjectAltName=DNS:example.flip-chart.ru,DNS:mcp.example.flip-chart.ru" \
  -keyout config/nginx/certificates/key.pem \
  -out config/nginx/certificates/crt.pem

3. Переменные окружения ​

Отредактируйте файл .env:

ini
# Реестр и версия образов flip
FLIP_REGISTRY_IMAGE=cr.yandex/crpbj8irels1kqult74e/onpremise
FLIP_VERSION=v1.2.0

# PostgreSQL (Standalone). Значения должны совпадать с секцией Postgres в config/backend/config.yaml
POSTGRES_USER=flip
POSTGRES_PASSWORD=secret-passwd
POSTGRES_DB=flip

# MinIO (Standalone). Значения должны совпадать с секциями S3 в конфигурациях backend и file-handlers
MINIO_ROOT_USER=flip-minioadmin
MINIO_ROOT_PASSWORD=flip-minioadminsecret
MINIO_BUCKET=flip

Примечание

Учётные данные PostgreSQL и MinIO из .env должны совпадать с секциями Postgres, S3 и S3Config в конфигурационных файлах backend и file-handlers.

4. Конфигурационные файлы ​

Заполните файлы в каталоге config: домены, параметры SMTP, секреты (openssl rand -hex 16).

ФайлОписание
config/backend/config.yamlBackend
config/file-handlers/config.yamlFile-handlers
config/frontend/config.jsFrontend
config/mcp-server/config.yamlMCP-server
config/nginx/default.confNginx — server_name обоих блоков server

Права на файлы

Процессы в контейнерах работают не от root (backend — uid 1001, frontend — пользователь nginx). Конфигурационные файлы и сертификаты должны быть доступны на чтение:

bash
chmod -R a+rX config

SMTP

SMTP используется для отправки кодов подтверждения, приглашений и уведомлений. Параметры задаются в секции Mail конфигурации backend. Инструкции провайдеров: Yandex 360, Yandex Cloud Postbox, Mail.ru.

5. Доступ к реестру образов ​

bash
cat ../../credentials/authorized_key.json | docker login --username json_key --password-stdin cr.yandex
docker compose pull

6. Хранилище ​

Запустите базы данных и S3-хранилище:

bash
docker compose up -d flip-postgres flip-valkey flip-minio

Создайте бакет с публичным доступом на чтение (переменные из .env):

bash
set -a; . ./.env; set +a
docker compose exec flip-minio sh -c "mc alias set flipminio http://localhost:9000 $MINIO_ROOT_USER $MINIO_ROOT_PASSWORD && mc mb --ignore-existing flipminio/$MINIO_BUCKET && mc anonymous set download flipminio/$MINIO_BUCKET"

Загрузите медиа-ресурсы приложения:

bash
tar -xf sources/gifs.tar -C .
docker compose cp gifs flip-minio:/gifs
docker compose exec flip-minio sh -c "mc cp -r /gifs flipminio/$MINIO_BUCKET"

7. Запуск приложения ​

bash
docker compose up -d
docker compose ps

Все контейнеры должны быть в состоянии running (healthy для PostgreSQL, Valkey и MinIO). Приложение доступно по адресу https://example.flip-chart.ru/app. Дальнейшие действия — первый запуск.

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