Skip to content

Как установить JournalPHP ​

Установка поднимает JournalPHP в Docker: локально для разработки или на сервере для продакшена.

Перед установкой проверьте системные требования.

Локальное окружение ​

Клонируйте репозиторий и создайте .env из примера:

bash
git clone https://github.com/ADamCarraway/journalphp.git
cd journalphp
cp .env.example .env

Добавьте локальные домены в /etc/hosts (в Windows — в C:\Windows\System32\drivers\etc\hosts):

bash
echo "127.0.0.1 journalphp.test adminer.journalphp.test" | sudo tee -a /etc/hosts

Запустите контейнеры:

bash
docker compose up -d --build

Первый запуск занимает несколько минут. Сайт открывается по адресу http://journalphp.test. Адреса остальных сервисов перечислены в разделе Адреса сервисов.

Контейнеры ​

  • app: PHP-FPM, Horizon, планировщик задач, Reverb
  • frontend: Vite dev server
  • nginx: веб-сервер
  • db: MySQL
  • redis: кэш, сессии, очереди
  • adminer: веб-интерфейс базы данных
  • meilisearch: поисковый движок, запускается только с профилем meilisearch

Начальные данные ​

При первом запуске база заполняется начальными данными: роли, настройки платформы, бот для комментариев, набор реакций, причины жалоб, правила автоматических запретов, бейджи, подписка с тарифами и функциями и учётная запись суперадминистратора:

EmailПароль
admin@mail.compassword

Продакшен ​

Продакшен-окружение описано в docker-compose.prod.yml и Dockerfile.prod.

Подготовка .env ​

bash
git clone https://github.com/ADamCarraway/journalphp.git
cd journalphp
cp .env.example .env

Заполните в .env:

ПеременнаяЗначение
APP_ENVproduction
APP_DEBUGfalse
APP_URLадрес сайта, например https://example.com
DB_PASSWORDпароль базы данных, обязателен
REVERB_APP_ID, REVERB_APP_KEY, REVERB_APP_SECRETпроизвольные уникальные значения
REVERB_HOSTдомен сайта
FORCE_HTTPStrue, если сайт работает по HTTPS

Остальные переменные описаны в разделе Конфигурация.

Сборка и запуск ​

bash
docker compose -f docker-compose.prod.yml build
docker compose -f docker-compose.prod.yml up -d

Nginx в Docker слушает 127.0.0.1:8080, порты 80 и 443 обслуживает reverse proxy на хосте. Пример его конфигурации с сертификатом certbot — docker/nginx/host-ssl.example.conf, порядок установки описан в комментариях в начале файла.

После установки ​

Войдите как суперадминистратор, смените пароль и настройте почту, способы входа и другие интеграции — см. Админ-панель.

Released under the MIT License.