chore: restore a working localhost stack

docker-compose.yml became the production/R2 stack, but LOCAL_SETUP.md still
documented "docker compose up --build" against .env.example, which fails on
missing R2_ENDPOINT, SITE_DOMAIN and KANBAN_DOMAIN, and MinIO was gone.

Add compose.local.yaml: builds from source, MinIO storage, fake providers,
disposable credentials, an app database password distinct from the
administrator one, and published origins in ALLOWED_ORIGINS so browser writes
are not rejected. Correct the documented command and the Kanban login, which
listed a username the email-validated model rejects.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Cauê Faleiros
2026-09-18 18:33:27 -03:00
parent 0f16868f2d
commit fc6f708e95
2 changed files with 204 additions and 4 deletions

View File

@@ -12,16 +12,19 @@ public container images and Python packages; running integrations are local.
From this repository directory:
```bash
docker compose up --build
docker compose -f compose.local.yaml up --build
```
`docker-compose.yml` is the production/R2 stack and will not start locally; the
localhost stack is always `compose.local.yaml`.
No `.env` is required: Compose has the same disposable defaults as `.env.example`.
To customize, copy `.env.example` to `.env` and edit it. Never use real credentials.
For a detached start with readiness verification:
```bash
docker compose up --build -d --wait
docker compose ps
docker compose -f compose.local.yaml up --build -d --wait
docker compose -f compose.local.yaml ps
```
| Component | Local URL / port | Purpose |
@@ -39,7 +42,7 @@ docker compose ps
Use `localhost` consistently; mixing it with `127.0.0.1` creates a different
browser session. Published ports bind only to `127.0.0.1`.
Kanban default login: `operator` / `local-operator-only`.
Kanban default login: `operator@example.test` / `local-operator-only`.
MinIO default login: `dtf_local` / `local-storage-only`.
These are public, disposable development values, not real credentials.
Interactive API documentation is disabled; `/docs` and `/redoc` are not local