PHPackages                             wpsh/local - 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. [DevOps &amp; Deployment](/categories/devops)
4. /
5. wpsh/local

ActiveLibrary[DevOps &amp; Deployment](/categories/devops)

wpsh/local
==========

A Docker Compose development environment for any project.

0.2.3(6y ago)0153.3k—5.1%[2 PRs](https://github.com/wpsh/wpsh-local/pulls)4MITShell

Since Dec 14Pushed 6y ago1 watchersCompare

[ Source](https://github.com/wpsh/wpsh-local)[ Packagist](https://packagist.org/packages/wpsh/local)[ RSS](/packages/wpsh-local/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (6)DependenciesVersions (9)Used By (4)

Local Development Environment
=============================

[](#local-development-environment)

[![Build Status](https://camo.githubusercontent.com/86da44b5fe977a4fecb2ae5eb33d45f36cdde668e151f631d4cd70a3ef1b423c/68747470733a2f2f7472617669732d63692e636f6d2f777073682f777073682d6c6f63616c2e7376673f6272616e63683d6d6173746572)](https://travis-ci.com/wpsh/wpsh-local)

Add this to any project with `docker-compose.yaml` to run the containers inside Vagrant. Useful for creating friendly development environments with beautiful hostnames (no port numbers) that don't require Docker on the host machine.

Requirements
------------

[](#requirements)

- [Vagrant](https://www.vagrantup.com)
- [VirtualBox](https://www.virtualbox.org)

We suggest using [Homebrew](https://brew.sh) to install the dependencies:

```
brew cask install virtualbox vagrant

```

Install
-------

[](#install)

1. Add this package to your project using [Composer](https://getcomposer.org):

    ```
     composer require --dev wpsh/local

    ```
2. Add `Vagrantfile` to the root of your project with the following contents:

    ```
     # Configure the hostname.
     Vagrant.configure(2) do |config|
       config.vm.hostname = 'wpsh-local'
     end

     load File.join(
       File.dirname(__FILE__),
       'vendor/wpsh/local/Vagrantfile'
     )

    ```

    where `vendor/wpsh/local` is the relative path to this packge.
3. Create `docker-compose.yaml` in the root of your project to define the virtual environment.

Examples
--------

[](#examples)

- See [`examples/wordpress`](examples/wordpress) for a sample WordPress development environment.
- [Block Context WordPress plugin](https://github.com/preseto/block-context).

Development
-----------

[](#development)

[Travis CI](https://travis-ci.com/wpsh/wpsh-local) lints all shell scripts in `scripts/vagrant` using [shellcheck](https://www.shellcheck.net) and `Vagrantfile` (and other Ruby files) using [rubocop](https://github.com/rubocop-hq/rubocop).

To Do
-----

[](#to-do)

- Add support for installing via `npm`.
- Automatically create the project `Vagrantfile` on the first install.

Credits
-------

[](#credits)

Created by [Kaspars Dambis](https://kaspars.net).

License
-------

[](#license)

See the LICENSE file for license rights and limitations (MIT).

###  Health Score

33

—

LowBetter than 75% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity31

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity56

Maturing project, gaining track record

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

Total

6

Last Release

2532d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/92bfcd3a8c3a21a033a6484d32c25a40b113ec6891f674336081513d5c98ef76?d=identicon)[kasparsd](/maintainers/kasparsd)

---

Top Contributors

[![kasparsd](https://avatars.githubusercontent.com/u/169055?v=4)](https://github.com/kasparsd "kasparsd (21 commits)")

---

Tags

composercomposer-packagedevelopment-environmentdockerdocker-composevagrantwordpress

### Embed Badge

![Health badge](/badges/wpsh-local/health.svg)

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

###  Alternatives

[deployer/deployer

Deployment Tool

11.1k25.4M207](/packages/deployer-deployer)[appwrite/server-ce

End to end backend server for frontend and mobile apps.

55.3k84.2k](/packages/appwrite-server-ce)[pragmarx/health

Laravel Server &amp; App Health Monitor and Notifier

2.0k1.0M2](/packages/pragmarx-health)[felixfbecker/language-server-protocol

PHP classes for the Language Server Protocol

22476.7M6](/packages/felixfbecker-language-server-protocol)[heroku/heroku-buildpack-php

Toolkit for starting a PHP application locally, with or without foreman, using the same config for PHP and Apache2/Nginx as on Heroku

8161.3M10](/packages/heroku-heroku-buildpack-php)[tiamo/phpas2

PHPAS2 is a php-based implementation of the EDIINT AS2 standard

4674.7k](/packages/tiamo-phpas2)

PHPackages © 2026

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