{"id":15480974,"url":"https://github.com/chriszarate/docker-wordpress-vip","last_synced_at":"2025-04-22T15:24:12.718Z","repository":{"id":144724728,"uuid":"63514248","full_name":"chriszarate/docker-wordpress-vip","owner":"chriszarate","description":"A Docker-based development environment for WordPress VIP development","archived":false,"fork":false,"pushed_at":"2017-12-24T23:35:57.000Z","size":39,"stargazers_count":17,"open_issues_count":0,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-29T16:22:57.294Z","etag":null,"topics":["docker","docker-compose","photon","wordpress","wordpress-vip"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chriszarate.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-07-17T04:12:00.000Z","updated_at":"2022-12-06T04:42:27.000Z","dependencies_parsed_at":null,"dependency_job_id":"469a6a77-798d-4ad5-aa43-35af1254890e","html_url":"https://github.com/chriszarate/docker-wordpress-vip","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chriszarate%2Fdocker-wordpress-vip","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chriszarate%2Fdocker-wordpress-vip/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chriszarate%2Fdocker-wordpress-vip/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chriszarate%2Fdocker-wordpress-vip/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chriszarate","download_url":"https://codeload.github.com/chriszarate/docker-wordpress-vip/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250265447,"owners_count":21402100,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","docker-compose","photon","wordpress","wordpress-vip"],"created_at":"2024-10-02T05:00:58.696Z","updated_at":"2025-04-22T15:24:12.683Z","avatar_url":"https://github.com/chriszarate.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# WordPress VIP development for Docker\n\nThis repo provides a Docker-based development environment for [WordPress VIP][vip]\ndevelopment. Via [chriszarate/wordpress][image], it runs on PHP7 and adds\nWP-CLI, PHPUnit, Xdebug, and the WordPress unit testing suite. It further adds\nVIP shared plugins, VIP mu-plugins, a [Photon][photon] server, and the\ndevelopment plugins provided by VIP Quickstart.\n\nIf you only need Docker WordPress development environment for a single plugin or\ntheme, my [docker-compose-wordpress][simple] repo is a simpler place to start.\n\n\n# VIP Go\n\nFor an environment suitable for VIP Go development, check out my\n[docker-wordpress-vip-go][vip-go] repo.\n\n\n## Set up\n\n1. Add `project.test` (or your chosen TLD) to your `/etc/hosts` file:\n\n   ```\n   127.0.0.1 localhost project.test\n   ```\n\n   If you choose a different TLD, edit `.env` as well.\n\n2. Edit `setup.sh` to check out your organization’s code into the `src`\n   subfolder (look for `test-theme` in the final section). Then, adjust the\n   `services/wordpress/volumes` section of `docker-compose.yml` to reflect your\n   changes.\n\n3. Run `./setup.sh`.\n\n4. Run `docker-compose up -d`.\n\n\n## Interacting with containers\n\n**Refer to [docker-compose-wordpress][simple] for general instructions** on how\nto interact with the stack, including WP-CLI, PHPUnit, Xdebug, and preloading\ncontent.\n\nThe main difference with this stack is that all code is synced to the WordPress\ncontainer from the `src` subfolder and, generally, is assumed to be its own\nseparate repo.\n\n\n## Configuration\n\nPut project-specific WordPress config in `conf/wp-local-config.php` and PHP ini\nchanges in `conf/php-local.ini`, which are synced to the container. PHP ini\nchanges are only reflected when the container restarts. You may also adjust the\nNginx config of the reverse proxy container via `conf/nginx-proxy.conf`.\n\n\n## Photon\n\nA [Photon][photon] server is included and enabled by default to more closely\nmimic the WordPress VIP production environment. Requests to `/wp-content/uploads`\nwill be proxied to the Photon container—simply append Photon-compatible query\nstring parameters to the URL.\n\n\n## Memcached\n\nA Memcached server and `object-cache.php` drop-in are available via the separate\n`docker-compose.memcached.yml` but are not enabled by default. To use it, either\nmanually merge it into the main `docker-compose.yml` or reference it explicitly\nwhen interacting with the stack:\n\n```\ndocker-compose -f docker-compose.yml -f docker-compose.memcached.yml up -d\n```\n\n\n## HTTPS support\n\nThis repo provide HTTPS support out of the box. The setup script generates\nself-signed certificates for the domain specified in `.env`. You may wish to add\nthe generated root certificate to your system’s trusted root certificates. This\nwill allow you to browse your dev environment over HTTPS without accepting a\nbrowser security warning. On OS X:\n\n```sh\nsudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain certs/ca-root/ca.crt\n```\n\nIf you do not want to use HTTPS, add `HTTPS_METHOD: \"nohttps\"` to the\n`services/proxy/environment` section of `docker-compose.yml`.\n\n\n## Multiple environments\n\nMultiple instances of this dev environment are possible. Make an additional copy\nof this repo with a different folder name. Then, either juggle them by stopping\none and starting another, or modify `/etc/hosts` and `.env` to use another\ndomain, e.g., `project2.test`.\n\n\n## Troubleshooting\n\nIf your stack is not responding, the most likely cause is that a container has\nstopped or failed to start. Check to see if all of the containers are \"Up\":\n\n```\ndocker-compose ps\n```\n\nIf not, inspect the logs for that container, e.g.:\n\n```\ndocker-compose logs wordpress\n```\n\nUsually, the error is apparent in the logs or the last task that ran failed. If\nyour `wordpress` container fails on `wp core install` or `wp plugin activate`,\nthat usually means that code you are syncing to the container produces a fatal\nerror that prevents WP-CLI from running.\n\nRunning `setup.sh` again can also help resolve problems.\n\nIf your self-signed certs have expired (`ERR_CERT_DATE_INVALID`), simply delete\nthe `certs/self-signed` directory and run `./certs/create-certs.sh`.\n\n\n[vip]: https://vip.wordpress.com\n[photon]: https://jetpack.com/support/photon/\n[image]: https://hub.docker.com/r/chriszarate/wordpress/\n[simple]: https://github.com/chriszarate/docker-compose-wordpress\n[vip-go]: https://github.com/chriszarate/docker-wordpress-vip-go\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchriszarate%2Fdocker-wordpress-vip","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchriszarate%2Fdocker-wordpress-vip","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchriszarate%2Fdocker-wordpress-vip/lists"}