diff --git a/README.md b/README.md index 47ec118..0e99d4e 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@ # infra -Copier template for the root of a project. With `layout: parts` it ships a `docker-compose.yml` that includes every part, a `Makefile` that drives compose and delegates `fmt`, `check` and `build` to parts, and an `.env.example` whose `COMPOSE_FILE` adds each part's `docker-compose.local.yml`. With `layout: single` a part template renders straight into the root and infra ships only `.gitignore`, `CLAUDE.md` and pre-commit hooks. +Copier template for the root of a project. With `layout: parts` it ships a `docker-compose.yml` that includes every part, a `Makefile` that drives compose and delegates `fmt`, `check` and `build` to parts, a `README.md` and an `.env.example` whose `COMPOSE_FILE` adds each part's `docker-compose.override.yml` and whose `COMPOSE_PROFILES` selects what runs on the machine. With `layout: single` a part template renders straight into the root and infra ships only `.gitignore`, `CLAUDE.md` and pre-commit hooks. A part is a directory with: -- `docker-compose.yml` with root-relative paths, plus `docker-compose.local.yml` and `docker-compose.prod.yml` picked through `COMPOSE_FILE` in the root `.env` +- `docker-compose.yml` with root-relative paths and a profile per service, plus `docker-compose.override.yml.example` for what differs between machines - `Makefile` with `fmt`, `check` and `build` targets - `.env.example` appended to the root `.env` by `make env` - `CLAUDE.md` with the part's checking commands diff --git a/template/{% if layout == 'parts' %}README.md{% endif %}.jinja b/template/{% if layout == 'parts' %}README.md{% endif %}.jinja index 884a89b..df0f873 100644 --- a/template/{% if layout == 'parts' %}README.md{% endif %}.jinja +++ b/template/{% if layout == 'parts' %}README.md{% endif %}.jinja @@ -1,5 +1,5 @@ # {{ project_name }} -{% if project_description %} +{% if project_description and project_description != project_name %} {{ project_description }} {% endif %} Runs in Docker, locally the same way as in production. Each part in `{{ parts | join('/`, `') }}/` brings its own `docker-compose.yml`, included from the root one. `COMPOSE_PROFILES` in `.env` selects the services that run on this machine. `docker-compose.override.yml` in each part holds what differs between machines: published ports and the aliases on the external `caddy` network.