Files
WebHosting/README.md
T
2026-09-18 19:03:28 +02:00

28 lines
1.3 KiB
Markdown

# WebHosting
Shared web applications behind Nginx/Apache, deployed in `/opt/WebHosting`.
Requires Docker Compose **2.30.0 or later**.
- `docker-compose.yaml` combines `stacks/<app>/compose.yaml` into one Compose project.
Run commands from the repository root; relative paths resolve from there.
- Only Nginx publishes host ports (`80`/`443`) and joins `public` and `backend`.
Web applications share `backend`; databases use their separate application networks.
These are bridge networks with outbound access, without `internal: true`.
- Puppet manages secrets through `hiera/data-lx/default/lx-docker-01.psi.ch.yaml`.
The service env files live under `/etc/webhosting/`, separately from this repo.
- Env files are root-owned (`0600`, directories `0700`) and use `format: raw`:
keep values literal, without adding quotes or escaping dollar signs.
Example: validate the project and apply an Excalidraw update on the host:
```sh
cd /opt/WebHosting
docker compose config --quiet && docker compose up -d excalidraw
docker compose ps excalidraw
docker compose logs --tail=50 excalidraw
```
Puppet must provision all required env files before Compose validation or deployment.
Use `config --quiet` to avoid printing secrets. After an update, check the application;
if its container IP changed, validate and reload Nginx using the host's deployment procedure.