Переменные окружения
Все переменные задаются в файле onpremise.env.
Обязательные
env
# Ключ шифрования (генерируется один раз)
APP_KEY=base64:...32-символьный-ключ...
# Режим работы
APP_MODE=onpremise
# URL основного приложения
APP_URL=https://app.orbita.exampleБаза данных
env
DB_CONNECTION=pgsql
DB_HOST=database
DB_PORT=5432
DB_DATABASE=orbita
DB_USERNAME=orbita
DB_PASSWORD=надёжный_парольRedis
env
REDIS_HOST=redis
REDIS_PORT=6379
REDIS_PASSWORD=nullОчереди и кэш
env
QUEUE_CONNECTION=redis
CACHE_DRIVER=redis
SESSION_DRIVER=redisПоиск (Meilisearch)
env
SCOUT_DRIVER=meilisearch
MEILISEARCH_HOST=http://meilisearch:7700
MEILISEARCH_KEY=your_master_keyEmail (SMTP)
env
MAIL_MAILER=smtp
MAIL_HOST=smtp.example.com
MAIL_PORT=587
MAIL_USERNAME=noreply@example.com
MAIL_PASSWORD=пароль
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=noreply@example.com
MAIL_FROM_NAME="Orbita ITSM"IMAP (входящие письма)
env
IMAP_HOST=imap.example.com
IMAP_PORT=993
IMAP_USERNAME=support@example.com
IMAP_PASSWORD=пароль
IMAP_ENCRYPTION=sslWebSocket (Laravel Reverb)
env
REVERB_APP_ID=orbita
REVERB_APP_KEY=ваш_ключ
REVERB_APP_SECRET=ваш_секрет
REVERB_HOST=reverb
REVERB_PORT=8080
# Координаты WebSocket для браузера — отдаются фронтенду в рантайме
# через /api/app-config (VITE-переменные в сборку не запекаются)
REVERB_PUBLIC_PORT=443
REVERB_PUBLIC_SCHEME=httpsХранилище файлов (S3)
env
FILESYSTEM_DISK=s3
AWS_ACCESS_KEY_ID=s3_admin
AWS_SECRET_ACCESS_KEY=s3_secret
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=orbita-files
AWS_ENDPOINT=http://seaweedfs:9000
AWS_USE_PATH_STYLE_ENDPOINT=trueSSO — Authentik
env
AUTHENTIK_CLIENT_ID=orbita
AUTHENTIK_CLIENT_SECRET=секрет
AUTHENTIK_BASE_URL=https://auth.orbita.exampleSSO — Keycloak (альтернатива)
env
KEYCLOAK_CLIENT_ID=orbita
KEYCLOAK_CLIENT_SECRET=секрет
KEYCLOAK_BASE_URL=https://keycloak.example.com
KEYCLOAK_REALM=master
KEYCLOAK_REDIRECT_URI=https://app.orbita.example/api/auth/keycloak/callbackПриложение (дополнительно)
env
APP_NAME="Orbita ITSM"
APP_ENV=production
APP_DEBUG=false
LOG_CHANNEL=stack
LOG_LEVEL=error
# Название компании (on-premise)
COMPANY_NAME="ООО Ромашка"Отчёты
Экспорт отчётов и рассылки по расписанию обрабатываются выделенной очередью reports (соединение подбирается по драйверу очередей: redis_reports при QUEUE_CONNECTION=redis, database_reports при database). Для неё должен быть запущен отдельный воркер.
env
# Диск для готовых файлов отчётов (по умолчанию — общий медиа-диск/S3)
REPORTS_DISK=s3
# Сколько дней хранить сгенерированные файлы
REPORTS_RUN_TTL_DAYS=30
# Лимиты строк по форматам
REPORTS_XLSX_MAX_ROWS=50000
REPORTS_PDF_MAX_ROWS=1000
REPORTS_SYNC_MAX_ROWS=10000
# PDF печатает headless Chromium. Путь к бинарнику; пусто — поиск chromium /
# chromium-browser / google-chrome в PATH (в образе backend задан явно)
# REPORTS_CHROME_BINARY=/usr/bin/chromium-headless-shell
# Сколько секунд ждать рендера одного PDF
REPORTS_PDF_RENDER_TIMEOUT=120
# Вложение в письмо до этого размера; больше — ссылкой
REPORTS_MAIL_ATTACH_MAX_BYTES=10485760
# Срок действия ссылок на скачивание в письмах, сек
REPORTS_MAIL_LINK_TTL=604800
# Переопределение очереди (обычно не требуется)
# REPORTS_QUEUE_CONNECTION=redis_reports
# REPORTS_QUEUE_NAME=reports
# SQL-отчёты: лимит времени запроса, сек — просмотр и предпросмотр / экспорт и расписания.
# REPORTS_SQL_EXPORT_TIMEOUT должен быть меньше таймаута задачи экспорта (600 с).
REPORTS_SQL_TIMEOUT=30
REPORTS_SQL_EXPORT_TIMEOUT=300
# Строк в предпросмотре редактора SQL
REPORTS_SQL_PREVIEW_ROWS=200
# CONNECTION LIMIT роли SQL-отчётов каждого тенанта
REPORTS_SQL_CONNECTION_LIMIT=5SQL-отчёты выполняются под отдельной ролью базы данных на тенанта (см. API отчётов): пользователю приложения нужно право CREATEROLE, а pg_hba.conf должен пускать эти роли по паролю с хоста приложения.
WARNING
PDF печатает Chromium, который воркер отчётов запускает на время экспорта. Потолок REPORTS_PDF_MAX_ROWS=1000 подбирался под прежний движок, для Chromium потребление памяти не замерялось. Для больших выгрузок используйте XLSX/CSV.