Автор проекта: Rinat Sarmuldin Email: ura07srr@gmail.com
SPA-социальная сеть на Laravel + Vue с чатами, realtime, медиа, IPTV/радио и админ-панелью.
- PHP 8.2+ (Docker: PHP 8.3 FPM)
- Laravel 10, Sanctum, Reverb
- Vue 3, Vue Router, Vite, Tailwind CSS 4
- MySQL (Docker: MySQL 8.4)
- Локальный режим: используйте только
.env(из.env.example). - Docker-режим: запускается из
docker-compose.ymlбез обязательного env-файла. - Не смешивайте команды и переменные двух режимов.
- Установите зависимости:
composer installnpm install
- Создайте
.env:- Linux/macOS:
cp .env.example .env - PowerShell:
Copy-Item .env.example .env - CMD:
copy .env.example .env
- Linux/macOS:
- Запустите локальный сервер БД и создайте базу:
- имя базы =
DB_DATABASE(по умолчаниюlaravel)
- имя базы =
- Настройте БД в
.env:MySQL:DB_CONNECTION=mysqlPostgreSQL:DB_CONNECTION=pgsql
- Сгенерируйте ключ и выполните миграции:
php artisan key:generatephp artisan migrate --seedphp artisan storage:link
- Запустите 3 процесса:
php artisan servenpm run devphp artisan reverb:start --host=0.0.0.0 --port=6001
- Откройте:
http://127.0.0.1:8000
- MySQL порт:
Test-NetConnection 127.0.0.1 -Port 3306 - PostgreSQL порт:
Test-NetConnection 127.0.0.1 -Port 5432 - Если у вас нестандартный порт (например
3307), укажите его вDB_PORT.
- Запустите:
docker compose up -d --build
- Проверьте статус:
docker compose ps
- Откройте:
http://localhost:8080
- Миграции:
docker compose exec app php artisan migrate --seed - Тесты:
docker compose --profile test run --rm test - Логи:
docker compose logs --tail=100 app - Остановка:
docker compose down
- Приложение:
http://localhost:8080 - Vite dev server (профиль
dev):5173 - Reverb websocket:
6001 - MySQL с хоста:
127.0.0.1:3307 - MySQL внутри Docker-сети:
db:3306(social_network/social/social)
- Все тесты:
php artisan test - Feature:
php artisan test --testsuite=Feature - Сборка фронта:
npm run build
- Для совместимого режима IPTV нужен
ffmpeg. - Локально укажите путь при необходимости:
IPTV_FFMPEG_BIN=ffmpeg- пример Windows:
IPTV_FFMPEG_BIN=C:\ffmpeg\bin\ffmpeg.exe
- Проверка capability API:
GET /api/iptv/transcode/capabilities
admin@example.com/passworduser1@example.com/passworduser2@example.com/passworduser3@example.com/passworduser4@example.com/passworduser5@example.com/password
- Приложение не видит БД по
DB_HOST/DB_PORT. - Убедитесь, что локальная служба БД запущена.
- В локальном режиме проверьте реальный порт вашей локальной БД (
3306/5432/другой). - В Docker режиме MySQL доступен на
127.0.0.1:3307.
- Неверные
DB_USERNAME/DB_PASSWORDв активном env-файле.
- Локально:
npm run devдолжен быть запущен. - Docker: пересоберите фронт
docker compose run --rm frontend-build. - Сделайте hard refresh (
Ctrl+F5).