Compose files run on the orchestrator's defaults (#6220)
CI & Build / Build now, or wait for Android? (push) Successful in 2s
Android / Build, or is the channel already serving this? (push) Successful in 2s
Android / Core and FFI clippy and tests (push) Skipped
Android / Kotlin + Rust (APK) (push) Skipped
Android / Build the server image (push) Skipped
CI & Build / Python lint (push) Successful in 2s
CI & Build / Web typecheck and unit tests (push) Successful in 10s
Desktop (Tauri) / Build, or is the channel already serving this? (push) Successful in 2s
Desktop (Tauri) / Web tests, clippy, Rust tests and rustfmt (push) Skipped
Desktop (Tauri) / Tauri desktop (Linux) (push) Skipped
Desktop (Tauri) / Windows installer (cross-compiled) (push) Skipped
Desktop (Tauri) / Update manifest (push) Skipped
CI & Build / Python tests (push) Successful in 13s
CI & Build / integration (push) Successful in 1m34s
CI & Build / Build & push image (push) Successful in 29s
CI & Build / Build now, or wait for Android? (push) Successful in 2s
Android / Build, or is the channel already serving this? (push) Successful in 2s
Android / Core and FFI clippy and tests (push) Skipped
Android / Kotlin + Rust (APK) (push) Skipped
Android / Build the server image (push) Skipped
CI & Build / Python lint (push) Successful in 2s
CI & Build / Web typecheck and unit tests (push) Successful in 10s
Desktop (Tauri) / Build, or is the channel already serving this? (push) Successful in 2s
Desktop (Tauri) / Web tests, clippy, Rust tests and rustfmt (push) Skipped
Desktop (Tauri) / Tauri desktop (Linux) (push) Skipped
Desktop (Tauri) / Windows installer (cross-compiled) (push) Skipped
Desktop (Tauri) / Update manifest (push) Skipped
CI & Build / Python tests (push) Successful in 13s
CI & Build / integration (push) Successful in 1m34s
CI & Build / Build & push image (push) Successful in 29s
Shipped stacks drop every healthcheck and the depends_on service_healthy wait, per rule 198 "Shipped compose files run on the orchestrator's defaults: no healthcheck, no restart policy". A pg_isready healthcheck turns slow storage into a killed database. The app needs neither: inkwell.dbwait waits up to 60s for Postgres at start, and the engine's pool_pre_ping retries per request. - docker-compose.yml: db and app healthchecks removed; depends_on is a plain start order. Comments cut to one or two lines per setting under rule 32 "Comments describe the product to a stranger": the family/rule references are gone, and the three-way port explanation points at docs/public-hosting.md, which already holds it. - docker-compose.dev.yml: db healthcheck and service_healthy removed; header shortened. - README: the copy-paste stack loses the same two blocks. restart: unless-stopped stays: plain Compose defaults to no restart, and Swarm ignores the key. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
+4
-16
@@ -1,15 +1,9 @@
|
||||
# Hot-reload DEV stack: Postgres + backend (hypercorn --reload) + Vite dev server.
|
||||
# Edit code on the host and changes reload live. Per family rule 12 the agent does
|
||||
# NOT start this — run it yourself:
|
||||
# Development stack: Postgres, the backend with live reload, and the Vite dev server.
|
||||
#
|
||||
# docker compose -f docker-compose.dev.yml up
|
||||
#
|
||||
# Then open http://localhost:5173 (the Vite dev server proxies /api to the backend).
|
||||
#
|
||||
# docker-compose.yml — the DEFAULT file — is the production stack instead: it pulls
|
||||
# the published image, keeps Postgres off the host network, and expects a .env. This
|
||||
# one builds nothing and is deliberately insecure-by-convenience (weak password,
|
||||
# Postgres published on 5432) because it is meant for a laptop, not a deployment.
|
||||
# Then open http://localhost:5173. For laptops only: the password is fixed and
|
||||
# Postgres is published on 5432. docker-compose.yml is the deployment stack.
|
||||
services:
|
||||
db:
|
||||
image: postgres:16-alpine
|
||||
@@ -21,18 +15,12 @@ services:
|
||||
- inkwell-dev-db:/var/lib/postgresql/data
|
||||
ports:
|
||||
- "5432:5432"
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U inkwell"]
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 10
|
||||
|
||||
api:
|
||||
image: python:3.12-slim
|
||||
working_dir: /app
|
||||
depends_on:
|
||||
db:
|
||||
condition: service_healthy
|
||||
- db
|
||||
environment:
|
||||
INKWELL_DATABASE_URL: postgresql+asyncpg://inkwell:inkwell@db:5432/inkwell
|
||||
PYTHONPATH: /app/src
|
||||
|
||||
Reference in New Issue
Block a user