{"id":15150668,"url":"https://github.com/jacobcassidy/docker-wordpress-setup","last_synced_at":"2026-02-26T18:03:00.624Z","repository":{"id":227067632,"uuid":"770303028","full_name":"jacobcassidy/docker-wordpress-setup","owner":"jacobcassidy","description":"Setup files for quickly creating local WordPress Docker containers with local domains, local volumes, and SSL on a single reverse-proxy network. ","archived":false,"fork":false,"pushed_at":"2024-06-12T11:21:32.000Z","size":53,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-06T12:13:09.129Z","etag":null,"topics":["docker","wordpress","wordpress-development"],"latest_commit_sha":null,"homepage":"","language":"Dockerfile","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/jacobcassidy.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":"2024-03-11T10:16:43.000Z","updated_at":"2024-07-27T14:44:24.000Z","dependencies_parsed_at":"2024-03-11T12:59:28.782Z","dependency_job_id":"3c23a724-2184-40e6-97e9-183369c05471","html_url":"https://github.com/jacobcassidy/docker-wordpress-setup","commit_stats":null,"previous_names":["jacobcassidy/wp-starter-docker","jacobcassidy/docker-wordpress-setup"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacobcassidy%2Fdocker-wordpress-setup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacobcassidy%2Fdocker-wordpress-setup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacobcassidy%2Fdocker-wordpress-setup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacobcassidy%2Fdocker-wordpress-setup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jacobcassidy","download_url":"https://codeload.github.com/jacobcassidy/docker-wordpress-setup/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247615480,"owners_count":20967183,"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","wordpress","wordpress-development"],"created_at":"2024-09-26T14:23:49.041Z","updated_at":"2026-02-26T18:02:55.580Z","avatar_url":"https://github.com/jacobcassidy.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Docker WordPress Setup\n\nThis repository contains the files needed to quickly get up and running with a local WordPress development Docker container. The container uses the official Docker __wordpress image__ for the server, __MySQL__ for the database, __local volumes__ for live editing of the files and database, and installs __Composer__ remotely at `/usr/local/share/composer` for running global packages in your Docker container.\n\nIncluded below are one-time setup instructions for creating a __standalone NGINX Reverse Proxy Docker network__. The network container will allow you to run multiple local servers simultaneously, all using unique local domain names on the standard 80 (HTTP) or 443 (HTTPS) ports. This removes the need to manage port numbers, gives you clean domains to work from (no appended port number), and manages running your local domains on the HTTPS protocol with self-created TLS certificates.\n\n## Other Docker Container Setup Repositories\n\nDepending on what stack you're using and whether you use [Ray](https://myray.app/) for debugging, another setup may be a better fit:\n\n| Setups without the Global Ray package| Setups with the Global Ray package |\n| - | - |\n| [NGINX, PHP-FPM \u0026 MySQL](https://github.com/jacobcassidy/docker-nginx-phpfpm-setup) | [NGINX, PHP-FPM, MySQL, \u0026 Ray](https://github.com/jacobcassidy/docker-nginx-phpfpm-ray-setup) |\n| [WordPress \u0026 MySQL](https://github.com/jacobcassidy/docker-wordpress-setup) | [WordPress, MySQL, \u0026 Ray](https://github.com/jacobcassidy/docker-wordpress-ray-setup) |\n\n## Instructions\n\n### First Time Setup\n\nFor all features to work, you must do a one-time installation of the [Docker Nginx Proxy Setup](https://github.com/jacobcassidy/docker-nginx-proxy-setup).\n\n### Project Setup\n\n1. In the parent directory where you want your project directory nested, run `git clone git@github.com:jacobcassidy/docker-wordpress-setup.git`.\n2. Rename the cloned directory from `docker-wordpress-setup` to your project name.\n3. Rename the `.env-example` file to `.env`.\n4. Update the `.env` file with the values your project will use.\n5. In the `nginx-proxy-base/certs` directory you created in the __First Time Setup__ instructions above, create the TLS certificates needed for the HTTPS protocol using the command: `mkcert yourdomain.tld`. Ensure you replace \"yourdomain.tld\" with the local domain name you specified in your `.env` file.\n6. Rename the created TLS certificates:\n    | FROM | TO |\n    | - | - |\n    | yourdomain.tld-key.pem | yourdomain.tld.key |\n    | yourdomain.tld.pem | yourdomain.tld.crt |\n7. Add the yourdomain.tld to your local machine's hosts file. This can be done on macOS with: sudo vim /etc/hosts and adding `127.0.0.1 yourdomain.tld` to the list (make sure to replace yourdomain.tld with your actual domain name).\n8. Open the [Docker Desktop](https://www.docker.com/products/docker-desktop/) app so the Docker engine is on.\n9. In your project directory, run `docker compose up -d` to build the   WordPress server Docker container. This will start your server and add the following directories to your project directory:\n    - `/html`: contains the WordPress files.\n    - `/log`: will contain the `wp-errors.log` file when WordPress has an error (the directory will be empty until there's an error).\n    - `/storage/mysql`: contains the database.\n10. Replace this README content with your project's README content (you can view the original README [here](https://github.com/jacobcassidy/docker-wordpress-setup)).\n11. Remove the cloned _docker-wordpress-setup_ __.git__ directory with: `rm -rf .git` (run this command from your project directory).\n12. Initialize a new git repository for your project with: `git init`.\n13. If you will be using a GitHub remote repo, create and connect to it now.\n14. Open your browser to the local domain specified in your `.env` file and complete the WordPress installation.\n\n## Note about the REST API\n\n- If your site is not connecting to the REST API (such as when you view https://yourdomain.local/wp-json/wp/v2/types/post), go to `WP Admin \u003e Settings \u003e Permalinks` and select one of the \"pretty\" link options. If you already have one selected, simply press the save button again, and your REST API endpoint should work again.\n\nIf you see \"The REST API encountered an error\" or \"Your site could not complete a loopback request\", ensure you are NOT using \".localhost\" as your TLD (since cURL version 7.85.0, domains ending in _.localhost_ can no longer resolve to an external IP), and confirm your `PROXY_NETWORK_GATEWAY` setting in the `.env` file is using the correct Docker network IP (see instructions in the .env file). If you change the settings in the `.env` file, rebuild your container with `docker compose up -d --build`.\n\n## Issues?\n\nIf you come across any issues, please feel free to report them [here](https://github.com/jacobcassidy/docker-wordpress-setup/issues).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjacobcassidy%2Fdocker-wordpress-setup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjacobcassidy%2Fdocker-wordpress-setup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjacobcassidy%2Fdocker-wordpress-setup/lists"}