PHPackages                             vanaboom/laravel-toolbox - 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. vanaboom/laravel-toolbox

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

vanaboom/laravel-toolbox
========================

Laravel toolbox

v1.4.18(3w ago)2238MITShellPHP ^8.4

Since Jul 13Pushed 3w agoCompare

[ Source](https://github.com/vanaboom/laravel-toolbox)[ Packagist](https://packagist.org/packages/vanaboom/laravel-toolbox)[ RSS](/packages/vanaboom-laravel-toolbox/feed)WikiDiscussions main Synced today

READMEChangelog (10)Dependencies (8)Versions (31)Used By (0)

Laravel Toolbox
===============

[](#laravel-toolbox)

A development toolkit for Laravel applications with built-in Docker scaffolding, Supervisor configurations, and optional services like Horizon, Echo Server, and Scheduler.

Features
--------

[](#features)

- Laravel Octane ready with RoadRunner by default and optional FrankenPHP support
- Preconfigured Supervisor process management
- Optional service configs for Horizon, Echo Server, Scheduler
- Environment-based starter mode (`dev` or `prod`)
- Ready-to-publish Docker scaffold for rapid project setup
- Works seamlessly with the public base image [`vanaboom/laravel-boomkit`](https://hub.docker.com/r/vanaboom/laravel-boomkit)

---

Installation
------------

[](#installation)

```
composer require vanaboom/laravel-toolbox
```

Or, for the **first-time setup with Docker** (without Composer installed locally):

```
docker run --rm -it \
  --add-host=host.docker.internal:host-gateway \
  -u $(id -u):$(id -g) \
  -v "$PWD":/code -w /code \
  vanaboom/laravel-boomkit:1.10.2-alpine \
  sh -lc '
    composer require vanaboom/laravel-toolbox --no-interaction --no-scripts &&
    php artisan toolbox:publish-docker --force &&
    chmod +x .docker/app/start-container
  '
```

Replace `alpine` with your `BUILD_TAG`, or use `alpine-frankenphp` together with `OCTANE_SERVER=frankenphp`.

---

Configuration
-------------

[](#configuration)

Publish the configuration file:

```
php artisan vendor:publish --provider="Vanaboom\\LaravelToolbox\\ToolboxServiceProvider" --tag="config"
```

The config file will be published to `config/toolbox.php`.

**Key options:**

- `mode` → `dev` or `prod`
- `verbose_mode` → Enable verbose logging for starter command
- `octane_watch` → Whether to enable Octane file watching in dev mode

---

Docker Scaffold
---------------

[](#docker-scaffold)

Publish a ready-to-use Docker scaffold into your Laravel app:

```
php artisan toolbox:publish-docker
# then:
# docker compose up -d
```

The scaffold includes:

- Dockerfile using `vanaboom/laravel-boomkit:${BOOMKIT_VERSION}-${BUILD_TAG}`
- Supervisor configs:

    - `starter` → Runs `php artisan toolbox:starter`
    - Optional: `horizon`, `echo-server`, `scheduler` (copy from `.ini.example` to enable)
- Configurable environment variables for user/group IDs, app directory, custom commands, Octane runtime, Docker registry mirror, and more

To avoid Composer re-running on every container start, add stamp files to your `.gitignore`:

```
*.stamp

```

### Example docker-compose service

[](#example-docker-compose-service)

```
services:
  app:
    build:
      context: ./.docker/app
      dockerfile: Dockerfile
      args:
        UID: ${UID:-1000}
        GID: ${GID:-1000}
        CURRENT_USER: ${CURRENT_USER}
        CURRENT_GROUP: ${CURRENT_GROUP}
        APP_ENV: ${APP_ENV:-production}
        BOOMKIT_VERSION: ${BOOMKIT_VERSION:-1.10.2}
        BUILD_TAG: ${BUILD_TAG:-alpine}
        TIMEZONE: ${APP_TIMEZONE:-UTC}
        DOCKER_REGISTRY: ${DOCKER_REGISTRY:-docker.io}
    environment:
      COMPOSER_MEMORY_LIMIT: -1
      TOOLBOX_STARTER_MODE: ${TOOLBOX_STARTER_MODE:-dev}
      TOOLBOX_VERBOSE_MODE: ${TOOLBOX_VERBOSE_MODE:-false}
      OCTANE_SERVER: ${OCTANE_SERVER:-roadrunner}
      TIMEZONE: ${APP_TIMEZONE:-UTC}
      COMPOSER_MIRROR_URL: ${COMPOSER_MIRROR_URL:-https://repo.packagist.org/}
      NPM_MIRROR_URL: ${NPM_MIRROR_URL:-https://registry.npmjs.org/}
    restart: unless-stopped
    extra_hosts:
      - 'host.docker.internal:host-gateway'
    ports:
      - ${APP_PORT:-11000}:8888
    volumes:
      - ./.docker/app/conf.d/supervisord.conf:/etc/supervisord.conf
      - ./.docker/app/supervisor.d:/etc/supervisor.d
      - ./:/code
    healthcheck:
      test: curl --fail -s http://localhost:8888/health || exit 1
      interval: 1m
      timeout: 30s
      retries: 3
```

---

### Octane Runtime

[](#octane-runtime)

RoadRunner remains the default runtime for backward compatibility. To use FrankenPHP, build with the Boomkit FrankenPHP tag and set the Octane server explicitly:

```
BUILD_TAG=alpine-frankenphp
OCTANE_SERVER=frankenphp
```

For registries or Docker Hub mirrors, set `DOCKER_REGISTRY` to the mirror prefix used by your environment.

---

Healthcheck Route
-----------------

[](#healthcheck-route)

Add this to your `routes/web.php` to make the Docker healthcheck work:

```
Route::get('/health', fn() => response()->noContent());
```

---

Supervisor
----------

[](#supervisor)

The scaffold comes with `/etc/supervisor.d` containing process configs.

### Starter

[](#starter)

Runs the Laravel Toolbox starter command based on environment:

```
[program:starter]
command=php artisan toolbox:starter
```

### Horizon (optional)

[](#horizon-optional)

Copy `horizon.ini.example` to `horizon.ini` to enable:

```
[program:horizon]
command=php artisan horizon
```

### Echo Server (optional)

[](#echo-server-optional)

Copy `echo-server.ini.example` to `echo-server.ini` to enable:

```
[program:echo-server]
command=node /code/echo-server/server.js
```

### Scheduler (optional)

[](#scheduler-optional)

Copy `scheduler.ini.example` to `scheduler.ini` to enable:

```
[program:scheduler]
command=php artisan schedule:work
```

---

License
-------

[](#license)

This package is open-sourced software licensed under the [MIT license](LICENSE).

###  Health Score

49

—

FairBetter than 94% of packages

Maintenance95

Actively maintained with recent releases

Popularity17

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity65

Established project with proven stability

 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.

###  Release Activity

Cadence

Every ~11 days

Recently: every ~33 days

Total

30

Last Release

22d ago

PHP version history (2 changes)1.2.0PHP ^8.3 || ^8.4

v1.4.5PHP ^8.4

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/168574808?v=4)[VanaBoom](/maintainers/vanaboom)[@vanaboom](https://github.com/vanaboom)

---

Top Contributors

[![hadavand](https://avatars.githubusercontent.com/u/5675908?v=4)](https://github.com/hadavand "hadavand (2 commits)")

---

Tags

laravelroadrunneroctaneToolboxvanaboom

### Embed Badge

![Health badge](/badges/vanaboom-laravel-toolbox/health.svg)

```
[![Health](https://phpackages.com/badges/vanaboom-laravel-toolbox/health.svg)](https://phpackages.com/packages/vanaboom-laravel-toolbox)
```

###  Alternatives

[laravel/octane

Supercharge your Laravel application's performance.

4.0k26.6M222](/packages/laravel-octane)[unopim/unopim

UnoPim Laravel PIM

10.5k2.4k](/packages/unopim-unopim)[bagisto/bagisto

Bagisto Laravel E-Commerce

27.6k172.1k9](/packages/bagisto-bagisto)[shlinkio/shlink

A self-hosted and PHP-based URL shortener application with CLI and REST interfaces

5.1k5.2k](/packages/shlinkio-shlink)[firefly-iii/data-importer

Firefly III Data Import Tool.

8035.8k](/packages/firefly-iii-data-importer)[markwalet/nova-modal-response

A Laravel Nova asset for Modal responses on an action.

17878.9k](/packages/markwalet-nova-modal-response)

PHPackages © 2026

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