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.16(3mo ago)2207MITShellPHP ^8.4

Since Jul 13Pushed 3mo 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 1mo ago

READMEChangelog (10)Dependencies (4)Versions (29)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 + RoadRunner ready
- 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:base`](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`

---

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:1.10.2-alpine`
- 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, 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}
        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}
      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
```

---

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

44

—

FairBetter than 92% of packages

Maintenance80

Actively maintained with recent releases

Popularity14

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity64

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 ~7 days

Recently: every ~14 days

Total

28

Last Release

105d ago

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

v1.4.5PHP ^8.4

### Community

Maintainers

![](https://www.gravatar.com/avatar/4df8b5119bebeb027eaa90a5393bb6b8db879b2a41262952c448477346a181d6?d=identicon)[vanaboom](/maintainers/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.0k21.5M159](/packages/laravel-octane)[livewire/volt

An elegantly crafted functional API for Laravel Livewire.

4205.3M84](/packages/livewire-volt)[whitecube/laravel-timezones

Store UTC dates in the database and work with custom timezones in the application.

106106.2k](/packages/whitecube-laravel-timezones)[forxer/laravel-gravatar

A library providing easy gravatar integration in a Laravel project.

4235.6k](/packages/forxer-laravel-gravatar)[iteks/laravel-enum

A comprehensive Laravel package providing enhanced enum functionalities, including attribute handling, select array conversions, and fluent facade interactions for robust enum management in Laravel applications.

2516.7k](/packages/iteks-laravel-enum)[tomshaw/electricgrid

A feature-rich Livewire package designed for projects that require dynamic, interactive data tables.

116.6k](/packages/tomshaw-electricgrid)

PHPackages © 2026

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