{"id":15481125,"url":"https://github.com/chriszarate/docker-wordpress-vip-go","last_synced_at":"2025-04-22T15:23:52.724Z","repository":{"id":144724731,"uuid":"95325697","full_name":"chriszarate/docker-wordpress-vip-go","owner":"chriszarate","description":"A Docker-based development environment for WordPress VIP Go development","archived":false,"fork":false,"pushed_at":"2019-12-04T16:45:47.000Z","size":21,"stargazers_count":16,"open_issues_count":5,"forks_count":12,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-29T16:22:48.669Z","etag":null,"topics":["docker","docker-compose","photon","vip-go","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":"2017-06-24T22:18:42.000Z","updated_at":"2024-10-20T17:16:08.000Z","dependencies_parsed_at":null,"dependency_job_id":"c386cf15-cdd9-4fa9-a282-4705f0d3a644","html_url":"https://github.com/chriszarate/docker-wordpress-vip-go","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-go","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chriszarate%2Fdocker-wordpress-vip-go/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chriszarate%2Fdocker-wordpress-vip-go/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chriszarate%2Fdocker-wordpress-vip-go/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chriszarate","download_url":"https://codeload.github.com/chriszarate/docker-wordpress-vip-go/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250265261,"owners_count":21402066,"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","vip-go","wordpress","wordpress-vip"],"created_at":"2024-10-02T05:01:34.406Z","updated_at":"2025-04-22T15:23:52.709Z","avatar_url":"https://github.com/chriszarate.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# WordPress VIP Go development for Docker\n\nThis repo provides a Docker-based environment for [WordPress VIP Go][vip-go]\ndevelopment. It provides WordPress, MariaDB, Memcached, WP-CLI, and PHPUnit. It\nfurther adds VIP Go mu-plugins and a [Photon][photon] server to closely mimic a\nVIP Go environment.\n\n# \"Classic\" VIP and non-VIP\n\nFor an environment suitable for \"classic\" VIP development, check out my\n[docker-wordpress-vip][vip] repo.\n\nIf you only need a Docker WordPress development environment for a single plugin\nor theme, my [docker-compose-wordpress][simple] repo is a simpler place to start.\n\n\n## Set up\n\n1. Clone or fork this repo.\n\n2. Add `project.test` to your `/etc/hosts` file:\n\n   ```\n   127.0.0.1 localhost project.test\n   ```\n\n3. Edit `update.sh` to provide your VIP Go repo in the `wp_repo` variable.\n\n4. Run `./setup.sh`.\n\n5. Run `docker-compose up -d`.\n\n\n## Install WordPress\n\n```sh\ndocker-compose run --rm wp-cli install-wp\n```\n\nLog in to `http://project.test/wp-admin/` with `wordpress` / `wordpress`.\n\nAlternatively, you can navigate to `http://project.test/` and manually perform\nthe famous five-second install.\n\n\n## WP-CLI\n\nYou will probably want to create a shell alias for this:\n\n```sh\ndocker-compose run --rm wp-cli wp [command]\n```\n\n\n## Running tests (PHPUnit)\n\nThe testing environment is provided by a separate Docker Compose file\n(`docker-compose.phpunit.yml`) to ensure isolation. To use it, you must first\nstart it, then manually run your test installation script. These are example\ncommands and will vary based on your test scaffold.\n\nNote that, in the PHPUnit container, your code is mapped to `/app`.\n\n```sh\ndocker-compose -f docker-compose.yml -f docker-compose.phpunit.yml up -d\ndocker-compose -f docker-compose.phpunit.yml run --rm wordpress_phpunit /app/bin/install-wp-tests.sh\n```\n\nNow you are ready to run PHPUnit. Repeat this command as necessary:\n\n```sh\ndocker-compose -f docker-compose.phpunit.yml run --rm wordpress_phpunit phpunit\n```\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`. To enforce the use\nof HTTPS, comment out (or remove) `HTTPS_METHOD: \"nohttps\"` from the\n`services/proxy/environment` section of `docker-compose.yml`.\n\nYou may wish to add the generated root certificate to your system’s trusted root\ncertificates. This will allow you to browse your dev environment over HTTPS\nwithout accepting a browser 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\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\nRunning `update.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, run `./certs/create-certs.sh`, and restart\nthe stack.\n\n\n[vip-go]: https://vip.wordpress.com/documentation/vip-go/\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]: https://github.com/chriszarate/docker-wordpress-vip\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchriszarate%2Fdocker-wordpress-vip-go","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchriszarate%2Fdocker-wordpress-vip-go","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchriszarate%2Fdocker-wordpress-vip-go/lists"}