Переменные окружения
Все переменные задаются в файле 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_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/callbackOAuth (социальный вход)
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=reportsWARNING
PDF-экспорт строит документ в памяти воркера — не поднимайте REPORTS_PDF_MAX_ROWS без увеличения лимита памяти воркера: ~1000 строк потребляют около 350 МБ. Для больших выгрузок используйте XLSX/CSV.
SaaS-режим
env
APP_MODE=saas
# Домен для поддоменов тенантов
SAAS_DOMAIN=orbita.example.com
# Wildcard SSL должен быть настроен в Traefik