Skip to content

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

JournalPHP использует два уровня конфигурации:

  1. .env — переменные окружения (соединения с БД, ключи API, адреса сервисов)
  2. Админ-панель — настройки платформы, хранящиеся в таблице config БД

Файл .env

Шаблон — .env.example. В dev-окружении копируется автоматически при первом запуске.

Приложение

ПеременнаяНазначение
APP_KEYКлюч шифрования
APP_ENVlocal или production
APP_DEBUGРежим отладки
APP_URLБазовый URL приложения
FORCE_HTTPSПринудительный HTTPS
VITE_APP_NAMEНазвание приложения для frontend-сборки

База данных

ПеременнаяНазначение
DB_CONNECTIONДрайвер (mysql)
DB_HOSTХост
DB_PORTПорт
DB_DATABASEИмя БД
DB_USERNAMEПользователь
DB_PASSWORDПароль

Redis

ПеременнаяНазначение
REDIS_HOSTХост
REDIS_PORTПорт
REDIS_PASSWORDПароль
CACHE_DRIVERДрайвер кэша
QUEUE_CONNECTIONДрайвер очередей
SESSION_DRIVERДрайвер сессий

WebSocket (Reverb)

ПеременнаяНазначение
BROADCAST_DRIVERreverb
REVERB_APP_IDID приложения
REVERB_APP_KEYКлюч
REVERB_APP_SECRETСекрет
REVERB_HOSTХост
REVERB_PORTПорт
REVERB_SCHEMEhttp или https
VITE_REVERB_APP_KEYКлюч для frontend-сборки
VITE_REVERB_HOSTХост для frontend-сборки
VITE_REVERB_PORTПорт для frontend-сборки
VITE_REVERB_SCHEMEСхема для frontend-сборки

Медиафайлы

ПеременнаяНазначение
CLOUDINARY_URLURL Cloudinary (опционально; основная конфигурация — в админ-панели)

Лимиты загрузки, допустимые типы файлов, драйвер хранилища и учётные данные настраиваются в Админ-панели → Медиа (/admin-panel/settings/media). Поддерживаемые драйверы: Local, Cloudinary, Yandex Cloud Object Storage.

Поиск

ПеременнаяНазначение
SCOUT_DRIVERДрайвер поиска (по умолчанию null — поиск отключён)

При значении null Scout не индексирует модели. Для включения поиска укажите database, algolia, meilisearch или другой поддерживаемый драйвер.

GIF (Tenor)

Ключи не входят в .env.example, но используются при production-сборке (docker-compose.prod.yml, Dockerfile.prod):

ПеременнаяНазначение
VITE_TENOR_API_KEYAPI-ключ Tenor
VITE_TENOR_CLIENT_KEYClient key Tenor

Без этих ключей GIF-поиск в редакторе отключён.

Frontend

ПеременнаяНазначение
VITE_APP_LOCALEЯзык для первоначального сида и production-сборки (ru или en)
VITE_DEV_SERVER_URLURL Vite dev server (только в dev)

Настройки через Админ-панель

Следующие параметры хранятся в БД и не дублируются в .env:

РазделПутьЧто настраивается
Общие настройки/admin-panel/settings/generalНазвание, логотип, язык
Внешний вид сайта/admin-panel/settings/appearanceCSS-переменные публичной темы
SEO/admin-panel/settings/seoМета-теги, Open Graph
Cookie-баннер/admin-panel/settings/cookie-consentБаннер согласия на cookies
Почта/admin-panel/settings/mailSMTP (применяется через MailServiceProvider)
Аутентификация/admin-panel/settings/authOAuth, быстрый вход, верификация
Контент/admin-panel/settings/contentОграничения публикации
Медиа/admin-panel/settings/mediaХранилище, лимиты, MIME-типы
Боковая панель/admin-panel/settings/sidebarВиджеты сайдбара
Футер сайдбара/admin-panel/settings/footerСсылки и соцсети
Темы в боковой панели/admin-panel/settings/topic-displayFeatured-темы
Дополнительные скрипты/admin-panel/settings/additional-scriptsКастомный HTML/JS/CSS
Рейтинг/admin-panel/settings/ratingСистема рейтинга
AI/admin-panel/ai-settingsAPI-ключи и модель OpenAI
Модерация/admin-panel/moderation-settingsAI-модерация текста
Модерация изображений/admin-panel/image-moderation-settingsYandex Vision
Бот/admin-panel/chat-gpt-botAI-бот в комментариях
Платёжный провайдер/admin-panel/subscription-payment-providerYooKassa / T-Bank
Доступы (Horizon / Log Viewer)/admin-panel/system/accesshorizonAdmins, logViewerAdmins

Настройки из БД применяются без перезапуска контейнера. При первом запуске ConfigSeeder заполняет начальные значения.


Применение изменений

ИзменениеПерезапуск
.envdocker compose restart app
Админ-панельне нужен
VITE_* (production)пересборка frontend-образа

Released under the MIT License.