An open-source local LEMP development stack using Docker. Comes with a set of Bash scripts for starting and stopping the stack, creating and deleting WordPress installs, keeping the hosts file updated, and running WP-CLI commands, among other useful features.
Pilothouse supports multiple local sites, Xdebug, multiple versions of PHP, and running WP-CLI commands directly from the host. Pilothouse is tailored to WordPress projects, but can be used for general PHP projects as well.
- Nginx
- PHP 5.6, 7.0, and 7.1
- MariaDB
- Memcached
- Xdebug
- WP-CLI
- MailCatcher
- Install Docker.
- Once installed, open Docker on your computer and run through the initial configuration settings.
- Clone the repo to your computer.
- Run
composer install
. - Add the
bin
path in the repo to your shell include path (more info). - Run
pilothouse up
to build the containers and boot up the system. On the first run, this will take quite a while as the Docker containers are downloaded and built. - Create a new site by running
pilothouse create
.
- See the Wiki for instructions on using WP-CLI, Xdebug, Mailcatcher, etc.
- Local WordPress sites are located in the
sites
directory. This can be changed. - The default WordPress username and password is
admin
/password
. - The Bash scripts have only been tested on macOS; your mileage on other OSes will vary.
wp [command]
: Runs a WP-CLI command in the Docker container against the current site.pilothouse up
: Boots up the Docker containers, and adds all necessary site entries to the host's hosts file.pilothouse down
: Halts the Docker containers, removing all site entries from the host's hosts file.pilothouse restart [container]
: Restarts the specified Docker container (nginx
,memcached
, etc.), or the entire system if no container is specified.pilothouse create [site]
: Creates a new local site.pilothouse delete [site]
: Deletes an existing local site.pilothouse generate-ssl [site]
: Generates, installs, and trusts a self-signed SSL certificate for the specified site.pilothouse mysql [command]
: Runs the provided MySQL command. The command will be run on the database of the current site, or with no database selected if not run from within a site directory.pilothouse compose [command]
: Runs adocker-compose
command with required environment variables set.
Pilothouse is open source software licensed under the GPLv2. Pilothouse is authored by Philip Newcomer, along with help from these awesome contributors.