diff --git a/README.md b/README.md index 2de551d..6ba96cf 100644 --- a/README.md +++ b/README.md @@ -16,18 +16,10 @@ To ease development, we use Docker containers that include all development requirements, so you don't have to install any tools other than Docker Compose on your local system. -### Build - -You can build the website like this: - -```bash -make -``` - ### Run -Once built, you can manually browse the `build/` directory or run the web server -container (Apache) in the foreground like this: +This project is usually executed in Docker containers. You can build and run the +project in a production-like container in the foreground like this: ```bash docker compose up --build --watch @@ -70,14 +62,21 @@ Once done, you can clean up like this: make clean ``` -## Deploy +## Deployment -Once built (see previous "Build" section), you can simply deploy the `build/` +This project is usually deployed by serving the static website from the `build/` directory behind your favorite web server (Apache + PHP-FPM etc.). Additionally, this should be deployed behind a reverse proxy (nginx) or CDN (Bunny CDN) that is responsible for HTTPS certificate handling and forcing HTTPS redirects. +Instead of directly running the project as above, you may build the static +website into the `build/` directory and manually browse any files like this: + +```bash +make +``` + The live website is deployed by pushing the contents of the `build/` directory to the `live` branch like this: @@ -93,8 +92,8 @@ and deploy the website. This is done by running the above deployment script (see previous chapter). This CI/CD process requires a one-time setup that involves the following steps: -First, set up the project on the web hosting infrastructure with a `public/` -docroot. Next, configure the hosting to pull from this repository and set up a -matching read-only deploy key in this repository. Finally, set up a webhook in -this repository to trigger a deployment on any `push` event to the hosting -platform. +First, set up the project on the web hosting infrastructure with the contents +of the `live` branch as its docroot. Next, configure the hosting to pull from +this repository and set up a matching read-only deploy key in this repository. +Finally, set up a webhook in this repository to trigger a deployment on any +`push` event to the hosting platform.