WPaaS is an opinionated deployment mechanism for deploying disposable WordPress servers.
It accomplishes this goal by largely separating the concerns of a standard WordPress deployment into:
- A remote mysql-compatible database
- S3-Compatible object storage for media files via S3 Uploads
- Containerized WordPress with templates and plugins pre-loaded
This project is designed to be:
The infra for WPaaS is defined in Terraform. There are a number of required variables outlined in the README
.
- This project assumes it will be deployed with Terraform Cloud or as a module of a larger project, thus does not define a TF state backend. Users who intend to deploy it by itself and without TFC should define their own backend.
- The Digital Ocean Spaces resource will be assigned a name using the random provider to avoid naming collisions.
- An initial Terraform deployment will fail as it will create the Container Repository, but an image will not yet exist to be referenced by the app.
make img_push
- This command will build and push the container image and will require
doctl
to be configured with your credentials.
- This command will build and push the container image and will require
- A second deploy should be successful.
This project is a work in progress. Issues and PRs are welcomed!