docs: document container, CI and dependency updates
Build and publish container / build (pull_request) Successful in 5m18s

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Emma Thorpe
2026-06-11 16:07:10 +01:00
parent eb0186a5b8
commit e5dd090c45
+54 -6
View File
@@ -27,11 +27,59 @@ serve the directory with any static file server, for example:
python3 -m http.server python3 -m http.server
``` ```
## Container
The site is packaged as a container based on `nginxinc/nginx-unprivileged`. It
runs as a non-root user and listens on port **8080**, serving the static files
and exposing a `/healthz` endpoint. It is designed to sit behind an external
reverse proxy that terminates TLS and routes by host.
Build and run locally:
```sh
docker build -t dlr .
docker run --rm -p 8080:8080 dlr
# then browse http://localhost:8080
```
## CI
`.gitea/workflows/build-and-publish.yml` builds the container with Gitea Actions
and publishes it to this Gitea instance's container registry on pushes to `main`
and on `v*` tags. Pull requests build the image but do not push. Authentication
uses the automatically provided `GITEA_TOKEN`; the registry host is derived from
the Gitea server URL.
The published image is `<gitea-host>/<owner>/<repo>`, tagged by branch, semver
(for `v*` tags), commit SHA, and `latest` on the default branch.
## Dependency updates
`renovate.json` configures Renovate to keep dependencies current:
- the Dockerfile base image,
- the actions used in the Gitea workflow,
- versioned front-end dependencies referenced in HTML.
There are currently no external front-end dependencies. When one is added via a
CDN, Renovate will track it if it is either annotated with a comment, e.g.
```html
<!-- renovate: datasource=npm depName=bootstrap -->
<link href="https://cdn.example.com/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
```
or referenced through a versioned jsDelivr / unpkg npm URL, which is detected
automatically.
## Files ## Files
| File | Purpose | | File | Purpose |
| ------------- | ------------------------------------------------ | | ------------------------------------- | ------------------------------------------------ |
| `index.html` | Page structure. | | `index.html` | Page structure. |
| `styles.css` | Both colour schemes, selected via `data-theme`. | | `styles.css` | Both colour schemes, selected via `data-theme`. |
| `messages.js` | The list of messages (fill this in). | | `messages.js` | The list of messages (fill this in). |
| `script.js` | Random message selection and the theme toggle. | | `script.js` | Random message selection and the theme toggle. |
| `Dockerfile` / `default.conf` | Container image and nginx static-serving config. |
| `.gitea/workflows/` | Gitea Actions build-and-publish pipeline. |
| `renovate.json` | Renovate dependency-update configuration. |