build: add a compose file that builds the image locally

docker-compose.yml pulls registry.reversed.dev. This variant builds from the
checkout instead and needs no .env — every variable falls back to a working
localhost default, so the stack comes up ready to register the first admin.

Also exposes Postgres on 5434 (clear of the dev database on 5433) and adds a
backend healthcheck so `depends_on` ordering is meaningful.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-01 00:43:35 +02:00
parent 49d0b55766
commit 5ddb56ef97
2 changed files with 103 additions and 1 deletions
+22 -1
View File
@@ -117,7 +117,8 @@ Backend/
migrations/
UI/ React + Tailwind frontend (Vite), builds to UI/build/
Dockerfile multi-stage build (UI then backend)
docker-compose.yml backend + Postgres
docker-compose.yml backend (pre-built image) + Postgres
docker-compose.local.yml same stack, built from this checkout
example.env
.gitea/workflows/deploy.yml
```
@@ -155,6 +156,26 @@ docker compose up -d
# Open http://localhost:5000 — the first account to register becomes admin.
```
### Building the image locally
To run from this checkout instead of the pre-built image — no `.env` needed, every
variable falls back to a working localhost default:
```bash
docker compose -f docker-compose.local.yml up -d --build
```
BuildKit builds both Dockerfile stages in parallel, which can exceed Docker
Desktop's memory limit during `pnpm install`. If the build fails with "cannot
allocate memory", warm the first stage on its own and retry:
```bash
docker build --target build -t patchpass-build .
```
> The local compose file ships a placeholder `INSTANCE_SECRET`. Override it before
> using the instance for anything real.
---
## Development setup