Как установить JournalPHP
Установка поднимает JournalPHP в Docker: локально для разработки или на сервере для продакшена.
Перед установкой проверьте системные требования.
Локальное окружение
Клонируйте репозиторий и создайте .env из примера:
git clone https://github.com/ADamCarraway/journalphp.git
cd journalphp
cp .env.example .envДобавьте локальные домены в /etc/hosts (в Windows — в C:\Windows\System32\drivers\etc\hosts):
echo "127.0.0.1 journalphp.test adminer.journalphp.test" | sudo tee -a /etc/hostsЗапустите контейнеры:
docker compose up -d --buildПервый запуск занимает несколько минут. Сайт открывается по адресу http://journalphp.test. Адреса остальных сервисов перечислены в разделе Адреса сервисов.
Контейнеры
- app: PHP-FPM, Horizon, планировщик задач, Reverb
- frontend: Vite dev server
- nginx: веб-сервер
- db: MySQL
- redis: кэш, сессии, очереди
- adminer: веб-интерфейс базы данных
- meilisearch: поисковый движок, запускается только с профилем
meilisearch
Начальные данные
При первом запуске база заполняется начальными данными: роли, настройки платформы, бот для комментариев, набор реакций, причины жалоб, правила автоматических запретов, бейджи, подписка с тарифами и функциями и учётная запись суперадминистратора:
| Пароль | |
|---|---|
admin@mail.com | password |
Продакшен
Продакшен-окружение описано в docker-compose.prod.yml и Dockerfile.prod.
Подготовка .env
git clone https://github.com/ADamCarraway/journalphp.git
cd journalphp
cp .env.example .envЗаполните в .env:
| Переменная | Значение |
|---|---|
APP_ENV | production |
APP_DEBUG | false |
APP_URL | адрес сайта, например https://example.com |
DB_PASSWORD | пароль базы данных, обязателен |
REVERB_APP_ID, REVERB_APP_KEY, REVERB_APP_SECRET | произвольные уникальные значения |
REVERB_HOST | домен сайта |
FORCE_HTTPS | true, если сайт работает по HTTPS |
Остальные переменные описаны в разделе Конфигурация.
Сборка и запуск
docker compose -f docker-compose.prod.yml build
docker compose -f docker-compose.prod.yml up -dNginx в Docker слушает 127.0.0.1:8080, порты 80 и 443 обслуживает reverse proxy на хосте. Пример его конфигурации с сертификатом certbot — docker/nginx/host-ssl.example.conf, порядок установки описан в комментариях в начале файла.
После установки
Войдите как суперадминистратор, смените пароль и настройте почту, способы входа и другие интеграции — см. Админ-панель.