Полная техническая документация: требования, установка, архитектура, конфигурация и деплой на VPS.
Скрипт поставляется с полностью настроенным Docker-окружением — дополнительно устанавливать PHP или MySQL на хосте не нужно.
Весь стек поднимается одной командой. Требуется только Docker и Make.
| Инструмент | Версия | Назначение |
|---|---|---|
| Docker | ≥ 24 | Контейнеры |
| Docker Compose | v2 (plugin) | Оркестрация |
| Make | любая | Сокращение команд |
| Git | ≥ 2.30 | Клонирование |
Можно установить напрямую на сервер без контейнеров.
| Компонент | Версия | Роль |
|---|---|---|
| PHP | ≥ 8.4 | Интерпретатор |
| Nginx / Caddy / Apache | любая | Веб-сервер |
| MySQL | 8.0+ | БД |
| Redis | 7+ | Кэш, очереди |
| Composer | 2+ | PHP-зависимости |
| Node.js + npm | ≥ 18 | Сборка CSS/JS |
Современные, стабильные технологии с долгосрочной поддержкой.
Docker-окружение включает PHP, MySQL, Redis и почтовый сервер — всё поднимается одной командой.
Распакуйте архив или скопируйте файлы на сервер. Создайте .env из шаблона.
Команда make install собирает образы, стартует контейнеры, устанавливает зависимости, генерирует ключ, создаёт символическую ссылку хранилища и запускает миграции.
Загрузит начальные данные: роли, права, суперадминистратора и тестовые записи.
По умолчанию приложение доступно на порту 8800, MailHog — на 8801.
В production фронтенд уже собран. Для разработки с hot-reload войдите в контейнер и запустите Vite.
Добавьте в crontab и настройте Supervisor для queue worker.
Все настройки проекта сконфигурированы через .env — менять код не нужно.
| Переменная | Пример | Описание |
|---|---|---|
| APP_NAME | Agregator | Название приложения (используется в письмах, заголовках) |
| APP_ENV | production | local для разработки, production для прода |
| APP_DEBUG | false | Включает отображение ошибок. Обязательно false на проде |
| APP_URL | https://yourdomain.ru | Полный URL сайта с протоколом. Используется в ссылках писем |
| APP_TIMEZONE | Europe/Moscow | Часовой пояс приложения |
| APP_LOCALE | ru | Язык интерфейса (ru / en) |
| Переменная | Пример | Описание |
|---|---|---|
| DB_CONNECTION | mysql | Драйвер БД |
| DB_HOST | mysql | Хост MySQL (имя Docker-сервиса или IP) |
| DB_PORT | 3306 | Порт MySQL |
| DB_DATABASE | aggregator | Имя базы данных |
| DB_USERNAME | aggregator | Пользователь MySQL |
| DB_PASSWORD | secret | Пароль MySQL — обязательно сменить! |
| DB_ROOT_PASSWORD | root_password | Пароль root MySQL (только для Docker) |
| Переменная | Пример | Описание |
|---|---|---|
| REDIS_HOST | redis | Хост Redis (имя Docker-сервиса) |
| REDIS_PORT | 6379 | Порт Redis |
| CACHE_STORE | redis | Драйвер кэша |
| SESSION_DRIVER | redis | Хранилище сессий |
| QUEUE_CONNECTION | redis | Обработка заданий в очереди |
| Переменная | Пример | Описание |
|---|---|---|
| MAIL_MAILER | smtp | Драйвер отправки (smtp, mailgun, log) |
| MAIL_HOST | mailhog | SMTP-сервер (в dev — MailHog) |
| MAIL_PORT | 1025 | SMTP-порт |
| MAIL_FROM_ADDRESS | no-reply@site.ru | Email отправителя |
| MAIL_FROM_NAME | Aggregator | Имя отправителя в письмах |
| Переменная | Пример | Описание |
|---|---|---|
| YOOKASSA_SHOP_ID | 1234567 | ID магазина в YooKassa |
| YOOKASSA_SECRET_KEY | live_xxx… | Секретный ключ из личного кабинета YooKassa |
| YOOKASSA_RETURN_URL | https://site.ru/payment/success | URL после успешной оплаты |
| Переменная | Описание |
|---|---|
| VKONTAKTE_CLIENT_ID | App ID из настроек приложения ВКонтакте |
| VKONTAKTE_CLIENT_SECRET | Защищённый ключ приложения ВКонтакте |
| VKONTAKTE_REDIRECT_URI | https://yourdomain.ru/auth/vk/callback |
| GITHUB_CLIENT_ID | App ID GitHub OAuth App |
| GITHUB_CLIENT_SECRET | Секрет GitHub OAuth App |
| GITHUB_REDIRECT_URI | https://yourdomain.ru/auth/github/callback |
| Переменная | Пример | Описание |
|---|---|---|
| DEMO_MODE | false | Включить демо-режим (true / false) |
| DEMO_TTL_MINUTES | 60 | Время жизни демо-записей в минутах (по умолчанию 60) |
| Переменная | По умолчанию | Описание |
|---|---|---|
| APP_HTTP_PORT | 8800 | HTTP-порт приложения на хосте |
| APP_HTTPS_PORT | 8443 | HTTPS-порт приложения |
| MAIL_FORWARD_PORT | 8801 | Порт MailHog UI |
| DB_FORWARD_PORT | 8802 | Проброс порта MySQL на хост |
| REDIS_FORWARD_PORT | 8803 | Проброс порта Redis на хост |
Бизнес-логика разбита по доменам в папке domain/. Каждый домен содержит модели, репозитории, сервисы и DTO — независимо от других.
domain/.
Controllers · Middleware
Form Requests · Actions
Services · Repositories
Models · DTO · Enums
Migrations · Seeders
Queue · Cache · Storage
13 готовых модулей управления — от каталога до платёжной системы. Ниже краткий технический разрез каждого.
| # | Модуль | Основные сущности | Ключевые возможности | Права |
|---|---|---|---|---|
| 1 | Пользователи | users, user_activities | Регистрация, OTP/пароль, OAuth (VK, GitHub), профиль, баланс | users.* |
| 2 | Роли и права | roles, permissions, model_has_roles | 5 ролей, 53+ прав, назначение из панели (Spatie Permission) | roles.* permissions.* |
| 3 | Объявления (Items) | items, item_options, item_comments | Статусы, скидки, метки, кастомные поля, комментарии с рейтингом | items.* |
| 4 | Категории | categories, category_item | Дерево категорий, привязка к объявлениям | categories.* |
| 5 | Компании | companies, company_reviews, company_review_media | Адрес, часы работы, отзывы с медиа, рейтинг, модерация | companies.* |
| 6 | Специалисты | specialists, specialist_applications, specialist_comments | Профиль, заявки с captcha и кастомными полями, комментарии | specialists.* |
| 7 | Тарифы (Plans) | plans | Планы с ценой, валютой, привязкой к страницам | plans.* |
| 8 | Транзакции | transactions, balances | YooKassa, статусы платежей, история, баланс пользователя | transactions.* |
| 9 | Промокоды | promocodes | Скидка в % или сумме, счётчик использований, срок действия | plans.* |
| 10 | Заявки (Applications) | applications | Формы заявок, кастомные поля, статусы, уведомления | applications.* |
| 11 | Генератор ссылок | link_generators | Короткие ссылки, счётчик кликов, привязка к объявлению или URL | link_generator.* |
| 12 | CMS-страницы | pages | CKEditor, SEO-мета, ограничение по тарифу, slug, статус | pages.* |
| 13 | Динамические фильтры | filters | Источник — любая таблица, выбор столбца, сортировка | filters.* |
Рекомендации по ресурсам сервера в зависимости от нагрузки.
Подходит для запуска и тестирования. VPS от Beget, Timeweb, Selectel.
Комфортная работа с реальной аудиторией. Рекомендуется выделенный Redis.
Рекомендуется разнести MySQL и Redis на отдельные серверы. CDN для медиа.
.env.example перед деплоемAPP_DEBUG=false и APP_ENV=production/admin по IP (опционально)php artisan optimize после деплояLOG_CHANNEL=daily)usermod -aG docker $USER). На слабых серверах первый docker compose build может занять 10–15 минут из-за компиляции PHP-расширений.
Купили скрипт, но хотите сэкономить время? Мы возьмём технические задачи на себя — от установки до разработки новых функций под вашу нишу.
Развернём скрипт на вашем сервере под ключ: настройка окружения, домен, SSL, очереди и планировщик.
Адаптируем скрипт под конкретную нишу: VPN-сервисы, курсы, медицина, недвижимость и другие.
Разработаем любой дополнительный функционал, которого нет в базовой версии скрипта.
Готовы обсудить задачу? Оставьте заявку — ответим в течение дня.
Заказать услугу →Документация написана, стек выбран, архитектура продумана — осталось только задеплоить.