Skip to content

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

Все переменные задаются в файле prod.env.

Обязательные

env
# Ключ шифрования (генерируется один раз)
APP_KEY=base64:...32-символьный-ключ...

# Режим работы: onpremise | saas
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_key

Email (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=ssl

WebSocket (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=true

SSO — Authentik

env
AUTHENTIK_CLIENT_ID=orbita
AUTHENTIK_CLIENT_SECRET=секрет
AUTHENTIK_BASE_URL=https://auth.orbita.example

SSO — 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

OAuth (социальный вход)

env
GOOGLE_CLIENT_ID=...
GOOGLE_CLIENT_SECRET=...
GOOGLE_REDIRECT_URI=https://app.orbita.example/api/auth/google/callback

GITHUB_CLIENT_ID=...
GITHUB_CLIENT_SECRET=...
GITHUB_REDIRECT_URI=https://app.orbita.example/api/auth/github/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

# Вложение в письмо до этого размера; больше — ссылкой
REPORTS_MAIL_ATTACH_MAX_BYTES=10485760

# Срок действия ссылок на скачивание в письмах, сек
REPORTS_MAIL_LINK_TTL=604800

# Переопределение очереди (обычно не требуется)
# REPORTS_QUEUE_CONNECTION=redis_reports
# REPORTS_QUEUE_NAME=reports

WARNING

PDF-экспорт строит документ в памяти воркера — не поднимайте REPORTS_PDF_MAX_ROWS без увеличения лимита памяти воркера: ~1000 строк потребляют около 350 МБ. Для больших выгрузок используйте XLSX/CSV.

SaaS-режим

env
APP_MODE=saas

# Домен для поддоменов тенантов
SAAS_DOMAIN=orbita.example.com

# Wildcard SSL должен быть настроен в Traefik

Документация Orbita ITSM