deemmoor/bitrix-boilerplate
Composer 安装命令:
composer create-project deemmoor/bitrix-boilerplate
包简介
Production-ready boilerplate для проектов на 1C-Битрикс
README 文档
README
Bitrix Boilerplate
Болванка для проектов на 1C-Битрикс: каркас проекта, основной модуль, API-роуты, контроллеры, use case, репозитории, DTO/presenter-слой, консольные команды, OpenAPI и миграции.
Быстрый старт
1. Через curl
bash <(curl -fsSL https://github.com/DeemMoor/bitrix-boilerplate/raw/master/scripts/bootstrap)
Мастер спросит сценарий установки:
local— локальная разработка: нужен только DL, PHP/Composer выполняются внутри контейнеров.server— свой VPS/выделенный сервер: Битрикс уже стоит вpublic/, PHP/Composer работают на сервере.hosting— shared-хостинг: Битрикс уже стоит вpublic_html/, код кладётся вapp/,public_htmlзаменяется симлинком наapp/public.
Если Битрикса нет в docroot, установщик остановится с явной ошибкой и откатит созданные файлы.
2. Через Composer
composer create-project deemmoor/bitrix-boilerplate myproject
После create-project запускается тот же мастер. Composer-способ требует PHP >= 8.4, composer и git на машине; для чистой локальной Docker/DL-установки используйте curl.
Что внутри болванки
Болванка ставится поверх ядра Битрикса и даёт готовый каркас проекта со слоёной структурой по принципам чистой архитектуры:
- Основной модуль
local/modules/<vendor>.engineсо слоями: роуты (routes.php), контроллеры, use case'ы, репозитории, DTO и presenter'ы. В модуле лежит рабочий пример среза (сущностьExample, эндпоинты/api/exampleи/api/test, консольная командаping) — копируйте его код и делайте свой функционал по образцу. - REST API с OpenAPI-документацией из PHP-атрибутов — доступна на
/api/doc. - Консольные команды на symfony/console —
php console. - Миграции и сидеры БД на phinx — каталог
database/. - Конфигурация через
.env: БД (MySQL/PostgreSQL/MariaDB), Redis/Memcached, кэш и сессии Битрикса.scripts/initгенерирует из негоlocal/.settings.phpиdbconn.php. - Демо-срез удаляется одной командой (
php scripts/strip-demo.php), при установке на прод мастер удаляет его сам — остаётся чистый каркас модуля.
Сценарии установки
Локальная разработка
Понадобится DL — инструмент локальной разработки в Docker-контейнерах (он же поднимает nginx/PHP/БД).
mkdir myproject && cd myproject bash <(curl -fsSL https://github.com/DeemMoor/bitrix-boilerplate/raw/master/scripts/bootstrap) \ --target local \ --dir .
Установщик поднимет контейнеры через dl up, затем по выбору скачает public/bitrixsetup.php, выполнит dl deploy или пропустит установку ядра.
Свой сервер/VPS
cd /var/www/site bash <(curl -fsSL https://github.com/DeemMoor/bitrix-boilerplate/raw/master/scripts/bootstrap) \ --target server \ --dir . \ --public-dir public
Ожидается, что Битрикс уже установлен в /var/www/site/public/bitrix. Код и зависимости ставятся в /var/www/site, docroot остаётся public/.
Shared-хостинг
cd ~/site.ru bash <(curl -fsSL https://github.com/DeemMoor/bitrix-boilerplate/raw/master/scripts/bootstrap) \ --target hosting \ --dir app \ --public-dir public_html
Ожидается, что Битрикс уже установлен в ~/site.ru/public_html/bitrix. Установщик перенесёт bitrix/, local/, upload/ в app/ и заменит public_html симлинком на app/public.
Что проверяет установщик
- Для всех режимов:
bash >= 4,git. - Для
local: наличие DL; PHP/Composer запускаются черезdl execвнутри контейнера. - Для
serverиhosting:PHP >= 8.4,composer, установленный Битрикс в docroot. - При аварии выводит конкретную ошибку и откатывает созданные файлы/каталоги.
- Не даёт случайно переустановиться поверх живого проекта: если болванка уже стоит в каталоге, установка остановится. Осознанная переустановка — флаг
--reinstall; перенастроить окружение без перекладки файлов можно, запустив./scripts/bootstrapиз каталога проекта. - Перед добавлением файлов в индекс проверяет, что
.envигнорируется git.
Что делает мастер
- Копирует болванку из GitHub или запускается из уже скачанного проекта.
- Генерирует
.envиз.env.example, сохраняя комментарии. - Локально запускает
dl up, затем скачиваетbitrixsetup.php, выполняетdl deployили пропускает шаг по выбору. - На
server/hostingставитAPP_ENV=production,APP_DEBUG=falseи всегда удаляет демо-срез. - До
initможет удалить демо-код: Example-сущность,/api/example,/api/test, командуping. - Запускает
scripts/init: локально черезdl exec bash, на сервере/хостинге через выбранныйPHP_BIN. - Переименовывает
vendor.engineв<vendor>.engine, обновляетcomposer.json, ставит Composer-зависимости. - По выбору делает
git initи добавляет файлы в индекс. Коммит не делает — сообщение и авторство первого коммита остаются за вами.
Неинтерактивный запуск
Локально:
bash <(curl -fsSL https://github.com/DeemMoor/bitrix-boilerplate/raw/master/scripts/bootstrap) \ --target local \ --dir . \ --vendor acme \ --name shop \ --db mysql \ --redis \ --cache redis \ --session redis \ --bitrix setup \ --strip-demo \ --git \ --yes
Свой сервер:
cd /var/www/site bash <(curl -fsSL https://github.com/DeemMoor/bitrix-boilerplate/raw/master/scripts/bootstrap) \ --target server \ --dir . \ --public-dir public \ --vendor acme \ --name site \ --cache files \ --session database \ --git \ --yes
Shared-хостинг:
cd ~/site.ru bash <(curl -fsSL https://github.com/DeemMoor/bitrix-boilerplate/raw/master/scripts/bootstrap) \ --target hosting \ --dir app \ --public-dir public_html \ --vendor acme \ --name site \ --cache files \ --session database \ --git \ --yes
После установки
Локально мастер уже поднял контейнеры и поставил Composer-зависимости внутри них. Если выбран --bitrix setup, откройте /bitrixsetup.php в браузере и установите ядро Битрикса.
После установки ядра:
dl exec "vendor/bin/phinx migrate -c phinx.php"
На сервере/хостинге:
vendor/bin/phinx migrate -c phinx.php
Если системный php старый, укажите нужный бинарник:
PHP_BIN=php8.4 bash scripts/bootstrap php8.4 vendor/bin/phinx migrate -c phinx.php
Ручные команды
Локально команды проекта выполняйте внутри контейнера:
cp .env.example .env dl up dl exec bash scripts/init dl exec composer install
На сервере/хостинге без DL:
cp .env.example .env PHP_BIN=php8.4 bash scripts/init composer install --no-dev --optimize-autoloader
Удалить демо-срез вручную можно только до scripts/init:
dl exec php scripts/strip-demo.php
На сервере/хостинге без DL используйте php scripts/strip-demo.php.
Доставка изменений
- Код
local/доставляйте через git. - Структуру БД оформляйте phinx-миграциями в
database/. - Демо-контент и тестовые данные оформляйте сидерами.
- Ядро
bitrix/,upload/,.env,local/.settings.php,dbconn.phpне коммитьте.
API
После установки модуля документация доступна по адресу:
/api/doc
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-07-10