PHPackages                             phpsoftbox/installer - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. phpsoftbox/installer

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

phpsoftbox/installer
====================

Installer and launcher for PhpSoftBox Workspace projects

013↓90%PHP

Since Jun 18Pushed 1mo agoCompare

[ Source](https://github.com/phpsoftbox/installer)[ Packagist](https://packagist.org/packages/phpsoftbox/installer)[ RSS](/packages/phpsoftbox-installer/feed)WikiDiscussions master Synced 1w ago

READMEChangelogDependenciesVersions (1)Used By (0)

PhpSoftBox Installer
====================

[](#phpsoftbox-installer)

Русский
-------

[](#русский)

Installer/launcher для Workspace и PhpSoftBox-приложений.

`phpsoftbox` устанавливается как полное имя бинарника. Shell installer может дополнительно создать короткий alias `psb -> phpsoftbox`, если имя `psb` свободно.

### Установка

[](#установка)

Требования для локальной установки: `php-cli`, `ext-mbstring`, Composer.

На macOS Composer часто ставят через Homebrew:

```
brew install php composer
composer --version
```

```
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/phpsoftbox/installer/master/install.sh)"
```

или через Composer:

```
composer global require \
  phpsoftbox/installer:dev-master \
  phpsoftbox/cli-app:dev-master \
  phpsoftbox/error-formatter:dev-master \
  --prefer-stable
```

Проверка:

```
export PATH="$(composer -q global config bin-dir --absolute):$PATH"
phpsoftbox list
```

Чтобы команда была доступна в новых терминалах, добавьте Composer global bin в профиль вашего shell. Путь лучше брать у Composer, потому что на macOS он может отличаться в зависимости от способа установки:

```
composer_bin="$(composer -q global config bin-dir --absolute)"
```

Для zsh, который используется в macOS по умолчанию:

```
composer_bin="$(composer -q global config bin-dir --absolute)"
{
  echo "export PATH=\"${composer_bin}:\$PATH\""
} >> ~/.zshrc
source ~/.zshrc
```

Для bash:

```
composer_bin="$(composer -q global config bin-dir --absolute)"
{
  echo "export PATH=\"${composer_bin}:\$PATH\""
} >> ~/.bashrc
source ~/.bashrc
```

Если на macOS используется login-shell bash, вместо `~/.bashrc` может понадобиться `~/.bash_profile`.

### Обновление

[](#обновление)

```
phpsoftbox self-update
```

Команду можно запускать из любой директории.

### Автокомплит

[](#автокомплит)

Поддерживаются zsh и Bash completion для имен команды `phpsoftbox` и `psb`.

Для zsh:

```
composer_home="$(composer -q global config home)"
{
  echo 'autoload -Uz compinit && compinit'
  echo "source \"${composer_home}/vendor/phpsoftbox/installer/bin/_phpsoftbox_zsh_completion\""
} >> ~/.zshrc
source ~/.zshrc
```

Если ранее уже была добавлена строка вида `source "$(composer global config bin-dir --absolute)/_phpsoftbox_zsh_completion"`, удалите её из `~/.zshrc`: в `bin-dir` Composer может положить proxy-файл, который нельзя использовать через `source`.

Для Bash:

```
source "$(composer -q global config home)/vendor/phpsoftbox/installer/bin/_phpsoftbox_completion"
```

Чтобы включить Bash completion постоянно:

```
echo 'source "$(composer -q global config home)/vendor/phpsoftbox/installer/bin/_phpsoftbox_completion"' >> ~/.bashrc
source ~/.bashrc
```

На macOS с bash login-shell используйте `~/.bash_profile` вместо `~/.bashrc`.

### Быстрый Старт

[](#быстрый-старт)

```
phpsoftbox workspace:install Workspace
cd Workspace
phpsoftbox workspace:init
phpsoftbox new backend
phpsoftbox init
phpsoftbox up
phpsoftbox vite-dev
```

`phpsoftbox workspace:install [dir]` можно запускать из любой директории. Все остальные команды нужно запускать из корня Workspace, где лежат `compose.yml`, `.env`, `.workspace.ini` и папка `local`.

Workspace устанавливается как scaffold-копия без `.git`, чтобы его можно было менять под конкретный проект.

### Команды

[](#команды)

Команды `init`, `config`, `up`, `down`, `down-clear`, `build`, `build-no-cache`, `ps`, `logs`, `shell`, `composer-install`, `composer-update`, `test`, `cs-check`, `cs-fix`, `yarn-install`, `yarn-build` и `vite-dev` поддерживают `-p|--profiles` для разового переопределения профилей Workspace.

КомандаГде запускатьОписание`phpsoftbox workspace:install [dir]`Любая директорияУстанавливает Workspace scaffold в целевую директорию. По умолчанию используется `Workspace`; доступны `--source/-s`, `--branch/-b`, `--force/-f`.`phpsoftbox workspace:init`Корень WorkspaceСоздает локальные `.env`, `.workspace.ini` и `local/.gitkeep` из файлов-примеров. `--force/-f` перезаписывает существующие файлы.`phpsoftbox new `Корень WorkspaceСоздает AppBackend-сервис в `local/` и обновляет `.env` для выбранного сервиса. Доступны `--source/-s`, `--branch/-b`, `--force/-f`.`phpsoftbox self-update`Любая директорияОбновляет глобально установленный installer через Composer.`phpsoftbox init`Корень WorkspaceВыполняет первичную подготовку приложения: генерирует `APP_KEY`, запускает `composer install` и `yarn install`.`phpsoftbox config`Корень WorkspaceПоказывает итоговую Docker Compose-конфигурацию с учетом активных профилей.`phpsoftbox up`Корень WorkspaceЗапускает сервисы активных профилей в фоне.`phpsoftbox down`Корень WorkspaceОстанавливает сервисы Workspace и удаляет orphan-контейнеры.`phpsoftbox down-clear`Корень WorkspaceОстанавливает сервисы Workspace, удаляет orphan-контейнеры и volumes.`phpsoftbox build`Корень WorkspaceСобирает Docker images для активных профилей с `--pull`.`phpsoftbox build-no-cache`Корень WorkspaceСобирает Docker images для активных профилей с `--pull --no-cache`.`phpsoftbox ps`Корень WorkspaceПоказывает состояние Docker Compose-сервисов.`phpsoftbox logs`Корень WorkspaceПоказывает поток логов Docker Compose с последними 200 строками.`phpsoftbox shell`Корень WorkspaceОткрывает `bash` внутри одноразового `php-cli` контейнера.`phpsoftbox composer-install`Корень WorkspaceЗапускает `composer install` внутри `php-cli` контейнера.`phpsoftbox composer-update`Корень WorkspaceЗапускает `composer update` внутри `php-cli` контейнера.`phpsoftbox test`Корень WorkspaceЗапускает `composer test` внутри `php-cli` контейнера.`phpsoftbox cs-check`Корень WorkspaceЗапускает проверку кодстайла через `composer cs:check`.`phpsoftbox cs-fix`Корень WorkspaceЗапускает автоисправление кодстайла через `composer cs:fix`.`phpsoftbox yarn-install`Корень WorkspaceЗапускает `yarn install` внутри `php-cli` контейнера.`phpsoftbox yarn-build`Корень WorkspaceЗапускает `yarn build` внутри `php-cli` контейнера.`phpsoftbox vite-dev`Корень WorkspaceЗапускает Vite dev server внутри `php-fpm` контейнера.`phpsoftbox profiles:list`Корень WorkspaceПоказывает дефолтные профили из `.workspace.ini`.`phpsoftbox profiles:set `Корень WorkspaceПолностью заменяет дефолтный набор профилей в `.workspace.ini`.`phpsoftbox profiles:add `Корень WorkspaceДобавляет профили в дефолтный набор без дублей.`phpsoftbox profiles:remove `Корень WorkspaceУдаляет профили из дефолтного набора.English
-------

[](#english)

Installer/launcher for Workspace and PhpSoftBox applications.

`phpsoftbox` is installed as the full binary name. The shell installer may also create a short `psb -> phpsoftbox` alias when the `psb` name is available.

### Installation

[](#installation)

Local installation requirements: `php-cli`, `ext-mbstring`, Composer.

On macOS Composer is often installed through Homebrew:

```
brew install php composer
composer --version
```

```
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/phpsoftbox/installer/master/install.sh)"
```

or with Composer:

```
composer global require \
  phpsoftbox/installer:dev-master \
  phpsoftbox/cli-app:dev-master \
  phpsoftbox/error-formatter:dev-master \
  --prefer-stable
```

Check the installation:

```
export PATH="$(composer -q global config bin-dir --absolute):$PATH"
phpsoftbox list
```

To make the command available in new terminal sessions, add Composer global bin to your shell profile. Ask Composer for the path because it can differ on macOS depending on how Composer was installed:

```
composer_bin="$(composer -q global config bin-dir --absolute)"
```

For zsh, the default shell on modern macOS:

```
composer_bin="$(composer -q global config bin-dir --absolute)"
{
  echo "export PATH=\"${composer_bin}:\$PATH\""
} >> ~/.zshrc
source ~/.zshrc
```

For Bash:

```
composer_bin="$(composer -q global config bin-dir --absolute)"
{
  echo "export PATH=\"${composer_bin}:\$PATH\""
} >> ~/.bashrc
source ~/.bashrc
```

If Bash is used as a login shell on macOS, use `~/.bash_profile` instead of `~/.bashrc`.

### Update

[](#update)

```
phpsoftbox self-update
```

The command can be run from any directory.

### Autocomplete

[](#autocomplete)

zsh and Bash completion are available for both `phpsoftbox` and `psb`.

For zsh:

```
composer_home="$(composer -q global config home)"
{
  echo 'autoload -Uz compinit && compinit'
  echo "source \"${composer_home}/vendor/phpsoftbox/installer/bin/_phpsoftbox_zsh_completion\""
} >> ~/.zshrc
source ~/.zshrc
```

If you already added a line like `source "$(composer global config bin-dir --absolute)/_phpsoftbox_zsh_completion"`, remove it from `~/.zshrc`: Composer may place a proxy file in `bin-dir`, and that proxy cannot be used through `source`.

For Bash:

```
source "$(composer -q global config home)/vendor/phpsoftbox/installer/bin/_phpsoftbox_completion"
```

To enable Bash completion permanently:

```
echo 'source "$(composer -q global config home)/vendor/phpsoftbox/installer/bin/_phpsoftbox_completion"' >> ~/.bashrc
source ~/.bashrc
```

On macOS with Bash as a login shell, use `~/.bash_profile` instead of `~/.bashrc`.

### Quick Start

[](#quick-start)

```
phpsoftbox workspace:install Workspace
cd Workspace
phpsoftbox workspace:init
phpsoftbox new backend
phpsoftbox init
phpsoftbox up
phpsoftbox vite-dev
```

`phpsoftbox workspace:install [dir]` can be run from any directory. All other commands must be run from the Workspace root, where `compose.yml`, `.env`, `.workspace.ini`, and the `local` directory exist.

Workspace is installed as a scaffold copy without `.git`, so it can be customized for a specific project.

### Commands

[](#commands)

The `init`, `config`, `up`, `down`, `down-clear`, `build`, `build-no-cache`, `ps`, `logs`, `shell`, `composer-install`, `composer-update`, `test`, `cs-check`, `cs-fix`, `yarn-install`, `yarn-build`, and `vite-dev` commands support `-p|--profiles` for one-off Workspace profile overrides.

CommandRun fromDescription`phpsoftbox workspace:install [dir]`Any directoryInstalls the Workspace scaffold into the target directory. Defaults to `Workspace`; supports `--source/-s`, `--branch/-b`, `--force/-f`.`phpsoftbox workspace:init`Workspace rootCreates local `.env`, `.workspace.ini`, and `local/.gitkeep` from example files. `--force/-f` overwrites existing files.`phpsoftbox new `Workspace rootCreates an AppBackend service in `local/` and updates `.env` for that service. Supports `--source/-s`, `--branch/-b`, `--force/-f`.`phpsoftbox self-update`Any directoryUpdates the globally installed installer through Composer.`phpsoftbox init`Workspace rootRuns first-time application setup: generates `APP_KEY`, runs `composer install`, and runs `yarn install`.`phpsoftbox config`Workspace rootShows the final Docker Compose configuration with active profiles applied.`phpsoftbox up`Workspace rootStarts services for active profiles in detached mode.`phpsoftbox down`Workspace rootStops Workspace services and removes orphan containers.`phpsoftbox down-clear`Workspace rootStops Workspace services and removes orphan containers and volumes.`phpsoftbox build`Workspace rootBuilds Docker images for active profiles with `--pull`.`phpsoftbox build-no-cache`Workspace rootBuilds Docker images for active profiles with `--pull --no-cache`.`phpsoftbox ps`Workspace rootShows Docker Compose service status.`phpsoftbox logs`Workspace rootFollows Docker Compose logs with the last 200 lines.`phpsoftbox shell`Workspace rootOpens `bash` inside a one-off `php-cli` container.`phpsoftbox composer-install`Workspace rootRuns `composer install` inside the `php-cli` container.`phpsoftbox composer-update`Workspace rootRuns `composer update` inside the `php-cli` container.`phpsoftbox test`Workspace rootRuns `composer test` inside the `php-cli` container.`phpsoftbox cs-check`Workspace rootRuns the code style check through `composer cs:check`.`phpsoftbox cs-fix`Workspace rootRuns the code style fixer through `composer cs:fix`.`phpsoftbox yarn-install`Workspace rootRuns `yarn install` inside the `php-cli` container.`phpsoftbox yarn-build`Workspace rootRuns `yarn build` inside the `php-cli` container.`phpsoftbox vite-dev`Workspace rootStarts the Vite dev server inside the `php-fpm` container.`phpsoftbox profiles:list`Workspace rootShows default profiles from `.workspace.ini`.`phpsoftbox profiles:set `Workspace rootReplaces the default profile set in `.workspace.ini`.`phpsoftbox profiles:add `Workspace rootAdds profiles to the default set without duplicates.`phpsoftbox profiles:remove `Workspace rootRemoves profiles from the default set.

###  Health Score

22

—

LowBetter than 21% of packages

Maintenance61

Regular maintenance activity

Popularity7

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity11

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/0279d150240c97d210034878b0467462246dc14d29b5618157ff6a8be49a50e3?d=identicon)[inspector-who](/maintainers/inspector-who)

---

Top Contributors

[![inspector-who](https://avatars.githubusercontent.com/u/6973963?v=4)](https://github.com/inspector-who "inspector-who (1 commits)")

### Embed Badge

![Health badge](/badges/phpsoftbox-installer/health.svg)

```
[![Health](https://phpackages.com/badges/phpsoftbox-installer/health.svg)](https://phpackages.com/packages/phpsoftbox-installer)
```

###  Alternatives

[asantibanez/livewire-calendar

Laravel Livewire calendar component

97091.4k1](/packages/asantibanez-livewire-calendar)[monsieurbiz/sylius-sales-reports-plugin

A simple plugin to have sales reports in Sylius

1231.1k](/packages/monsieurbiz-sylius-sales-reports-plugin)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
