Skip to content

Конфигурация

Установка (рекомендуется)

Параметры создаются скриптом:

bash
./install.sh                 # Docker + .env + запуск
./scripts/init-env.sh        # только .env с безопасным паролем

После init-env.sh / install.sh в .env уже будут уникальные RABBITMQ_USER и RABBITMQ_PASSWORD (файл с правами 600).

Все параметры можно править вручную в .env.

Образы GHCR

ПеременнаяПо умолчаниюОписание
GHCR_OWNERastrum-studioВладелец образов в ghcr.io

API

ПеременнаяПо умолчаниюОписание
CONVERT_API_PORT8100Порт HTTP API producer
CONVERT_API_TIMEOUT30sТаймаут запросов API
CONVERT_API_IDLE_TIMEOUT30sIdle-таймаут соединений
CONVERT_ENVdevОкружение (dev / master)

Конвертация

ПеременнаяПо умолчаниюОписание
CONVERT_SUCCESS_DIRECTORY/app/upload/successДиректория результатов внутри consumer
CONVERT_DOWNLOAD_DIRECTORY/app/upload/downloadДиректория загрузок внутри consumer
CONVERT_MAX_VIDEO_SIZE104857600Макс. размер видео (байты), ~100 MB
CONVERT_MAX_DOCUMENT_SIZE104857600Макс. размер документа (байты), ~100 MB

RabbitMQ

ПеременнаяПо умолчаниюОписание
RABBITMQ_USERгенерируетсяИмя пользователя (./scripts/init-env.sh)
RABBITMQ_PASSWORDгенерируетсяПароль (безопасный, 32 символа)
RABBITMQ_HOSTrabbitХост внутри Docker-сети
RABBITMQ_PORT5672Порт AMQP
RABBITMQ_DEFAULT_QUEUEmain_previewОчередь по умолчанию

Очереди

Consumer слушает две очереди:

  • main_preview — превью файлов
  • documentgenerator_create — генерация документов

Для каждой настроена dead-letter очередь с TTL 7 дней.

Пример .env для продакшена

ini
CONVERT_ENV=master
CONVERT_API_PORT=8100
RABBITMQ_USER=converter
RABBITMQ_PASSWORD=<сильный-пароль>
GHCR_OWNER=astrum-studio

Сайт документации (только для maintainers)

Лендинг собирается локально: docker compose -f docker-compose.site.yml up --build -d. В GHCR не публикуется.

ПеременнаяПо умолчаниюОписание
SITE_PORT8080Порт Nginx с документацией