Skip to content

Установка

Требования

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

Локальная разработка

1. Клонирование репозитория

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

2. Добавление локального домена

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

На Windows файл находится по адресу C:\Windows\System32\drivers\etc\hosts.

3. Запуск

bash
docker compose up -d --build

При первом запуске контейнер app автоматически копирует .env.example в .env, генерирует APP_KEY, ждёт готовности MySQL, применяет миграции с сидами и создаёт симлинк storage:link.

4. Готово

СервисURL
Приложениеhttp://journalphp.test
Админ-панельhttp://journalphp.test/admin-panel
Horizonhttp://journalphp.test/horizon
Adminerhttp://adminer.journalphp.test
Reverbws://journalphp.test:9001

APP_URL в .envhttp://journalphp.test.

Учётные данные по умолчанию

РольEmailПароль
Админadmin@mail.compassword

Смените пароль перед запуском в продакшене.

Первоначальная настройка

После установки откройте Админ-панель и настройте почту, OAuth-провайдеры, AI и SEO. Подробнее — в разделе Конфигурация.

Контейнеры

КонтейнерРоль
appPHP-FPM, Horizon, Reverb
frontendVite dev server
nginxВеб-сервер
dbMySQL 8
redisКэш, сессии, очереди
adminerИнтерфейс БД

Продакшен

Для production используется docker-compose.prod.yml и Dockerfile.prod. Фронтенд собирается внутри образа при docker compose build.

Подготовка

  1. Скопируйте .env.example в .env на сервере и заполните значения до запуска.
  2. Задайте надёжный DB_PASSWORD — в production он обязателен (значение по умолчанию не используется).
  3. Укажите APP_URL с вашим доменом.

В production приложение слушает 127.0.0.1:8080. Снаружи обычно ставят reverse proxy (nginx, Caddy) на портах 80/443.

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

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

Миграции не запускаются автоматически:

bash
docker compose -f docker-compose.prod.yml exec app php artisan migrate --force
docker compose -f docker-compose.prod.yml exec app php artisan config:cache
docker compose -f docker-compose.prod.yml exec app php artisan route:cache
docker compose -f docker-compose.prod.yml exec app php artisan view:cache

HTTPS

Рекомендуемая схема: nginx + certbot на хосте → прокси на http://127.0.0.1:8080.

Пример конфига — docker/nginx/host-ssl.example.conf.

После выпуска сертификата обновите .env:

ini
APP_URL=https://your-domain
FORCE_HTTPS=true
REVERB_SCHEME=https
VITE_REVERB_SCHEME=https
VITE_REVERB_PORT=443

Пересоберите образы, чтобы VITE_* попали во фронтенд, и примените кеш конфигурации.

HTTPS

Для production используйте HTTPS.


Следующие шаги

Released under the MIT License.