All Projects → chriszarate → docker-wordpress-vip

chriszarate / docker-wordpress-vip

Licence: other
A Docker-based development environment for WordPress VIP development

Programming Languages

shell
77523 projects
PHP
23972 projects - #3 most used programming language

Projects that are alternatives of or similar to docker-wordpress-vip

Hardware Libraries
Particle parts for computer-aided design (CAD)
Stars: ✭ 77 (+413.33%)
Mutual labels:  photon
Johnny Five
JavaScript Robotics and IoT programming framework, developed at Bocoup.
Stars: ✭ 12,498 (+83220%)
Mutual labels:  photon
Flex-AntiCheat
Flex AntiCheat - Optimized Configs For Multiple AntiCheats
Stars: ✭ 37 (+146.67%)
Mutual labels:  photon
Photon
The fastest way to build beautiful Electron apps using simple HTML and CSS
Stars: ✭ 9,761 (+64973.33%)
Mutual labels:  photon
Uvtools
MSLA/DLP, file analysis, calibration, repair, conversion and manipulation
Stars: ✭ 148 (+886.67%)
Mutual labels:  photon
Particle Cli
Command Line Interface for Particle Cloud and devices
Stars: ✭ 208 (+1286.67%)
Mutual labels:  photon
Sopgi
A small VEX raytracer for SideFX Houdini with photon mapping global illumination and full recursive reflections and refractions
Stars: ✭ 55 (+266.67%)
Mutual labels:  photon
vue-photonkit
Photonkit components for Vue
Stars: ✭ 15 (+0%)
Mutual labels:  photon
Preact Photon
🚀 Beautiful desktop apps with Preact + Photon ❤️
Stars: ✭ 158 (+953.33%)
Mutual labels:  photon
neopo
A lightweight solution for local Particle development.
Stars: ✭ 19 (+26.67%)
Mutual labels:  photon
Particle Api Js
JS Library for the Particle API
Stars: ✭ 112 (+646.67%)
Mutual labels:  photon
Docs
Documentation for Particle
Stars: ✭ 131 (+773.33%)
Mutual labels:  photon
karting
A multiplayer racing example project in Unity using the SocketWeaver SDK
Stars: ✭ 39 (+160%)
Mutual labels:  photon
Photon.vim
An elegant pair of Vim colour schemes with minimal syntax highlighting that care about the little details.
Stars: ✭ 98 (+553.33%)
Mutual labels:  photon
Slicer
Photon Open Slicer - Command Line Slicer usable as MeshMixer plugin or as standalone
Stars: ✭ 50 (+233.33%)
Mutual labels:  photon
Photon
an open source geocoder for openstreetmap data
Stars: ✭ 1,177 (+7746.67%)
Mutual labels:  photon
Warcraft Arena Unity
World of Warcraft client-server combat system implementation in Unity with Photon Bolt.
Stars: ✭ 206 (+1273.33%)
Mutual labels:  photon
revgeo
Reverse Geocoding in R with Google Maps API and Photon API
Stars: ✭ 20 (+33.33%)
Mutual labels:  photon
vip-go-site
🧰 Project template for VIP Go hosted websites with local development environment
Stars: ✭ 32 (+113.33%)
Mutual labels:  wordpress-vip
preact-photon-electron-quick-start
Demo desktop app built with Electron using the Preact-Photon UI library
Stars: ✭ 32 (+113.33%)
Mutual labels:  photon

WordPress VIP development for Docker

This repo provides a Docker-based development environment for WordPress VIP development. Via chriszarate/wordpress, it runs on PHP7 and adds WP-CLI, PHPUnit, Xdebug, and the WordPress unit testing suite. It further adds VIP shared plugins, VIP mu-plugins, a Photon server, and the development plugins provided by VIP Quickstart.

If you only need Docker WordPress development environment for a single plugin or theme, my docker-compose-wordpress repo is a simpler place to start.

VIP Go

For an environment suitable for VIP Go development, check out my docker-wordpress-vip-go repo.

Set up

  1. Add project.test (or your chosen TLD) to your /etc/hosts file:

    127.0.0.1 localhost project.test
    

    If you choose a different TLD, edit .env as well.

  2. Edit setup.sh to check out your organization’s code into the src subfolder (look for test-theme in the final section). Then, adjust the services/wordpress/volumes section of docker-compose.yml to reflect your changes.

  3. Run ./setup.sh.

  4. Run docker-compose up -d.

Interacting with containers

Refer to docker-compose-wordpress for general instructions on how to interact with the stack, including WP-CLI, PHPUnit, Xdebug, and preloading content.

The main difference with this stack is that all code is synced to the WordPress container from the src subfolder and, generally, is assumed to be its own separate repo.

Configuration

Put project-specific WordPress config in conf/wp-local-config.php and PHP ini changes in conf/php-local.ini, which are synced to the container. PHP ini changes are only reflected when the container restarts. You may also adjust the Nginx config of the reverse proxy container via conf/nginx-proxy.conf.

Photon

A Photon server is included and enabled by default to more closely mimic the WordPress VIP production environment. Requests to /wp-content/uploads will be proxied to the Photon container—simply append Photon-compatible query string parameters to the URL.

Memcached

A Memcached server and object-cache.php drop-in are available via the separate docker-compose.memcached.yml but are not enabled by default. To use it, either manually merge it into the main docker-compose.yml or reference it explicitly when interacting with the stack:

docker-compose -f docker-compose.yml -f docker-compose.memcached.yml up -d

HTTPS support

This repo provide HTTPS support out of the box. The setup script generates self-signed certificates for the domain specified in .env. You may wish to add the generated root certificate to your system’s trusted root certificates. This will allow you to browse your dev environment over HTTPS without accepting a browser security warning. On OS X:

sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain certs/ca-root/ca.crt

If you do not want to use HTTPS, add HTTPS_METHOD: "nohttps" to the services/proxy/environment section of docker-compose.yml.

Multiple environments

Multiple instances of this dev environment are possible. Make an additional copy of this repo with a different folder name. Then, either juggle them by stopping one and starting another, or modify /etc/hosts and .env to use another domain, e.g., project2.test.

Troubleshooting

If your stack is not responding, the most likely cause is that a container has stopped or failed to start. Check to see if all of the containers are "Up":

docker-compose ps

If not, inspect the logs for that container, e.g.:

docker-compose logs wordpress

Usually, the error is apparent in the logs or the last task that ran failed. If your wordpress container fails on wp core install or wp plugin activate, that usually means that code you are syncing to the container produces a fatal error that prevents WP-CLI from running.

Running setup.sh again can also help resolve problems.

If your self-signed certs have expired (ERR_CERT_DATE_INVALID), simply delete the certs/self-signed directory and run ./certs/create-certs.sh.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].