Docker Compose stack: nginx, PHP-FPM, PostgreSQL, Node #6

Closed
opened 2026-10-10 22:18:17 +00:00 by keith · 1 comment
Owner

Provide the runnable local stack described in the technology section of the spec.

Scope

  • docker-compose.yml with services: web (nginx), app (PHP-FPM), db (PostgreSQL), assets (Node build)
  • Named volume for PostgreSQL data
  • Bind mounts for the managed library directory and the application source in dev
  • Health checks for db; app waits for a healthy database

Acceptance criteria

  • docker compose up yields a reachable PHP page served by nginx
  • PostgreSQL data survives docker compose down and restart
  • Library directory is mounted read-write and visible to the app container

Blocked by: #4

Provide the runnable local stack described in the technology section of the spec. ## Scope - `docker-compose.yml` with services: `web` (nginx), `app` (PHP-FPM), `db` (PostgreSQL), `assets` (Node build) - Named volume for PostgreSQL data - Bind mounts for the managed library directory and the application source in dev - Health checks for `db`; `app` waits for a healthy database ## Acceptance criteria - [ ] `docker compose up` yields a reachable PHP page served by nginx - [ ] PostgreSQL data survives `docker compose down` and restart - [ ] Library directory is mounted read-write and visible to the app container --- Blocked by: #4
keith added this to the M1 - Docker & Dev Environment milestone 2026-10-10 22:18:17 +00:00
keith added the type:chorearea:infrapriority:high labels 2026-10-10 22:18:17 +00:00
Author
Owner

Acceptance reconciliation at c1ef2ee: Compose services, PG health gate/volume and writable library bind are implemented. Historical M1 runtime checks recorded HTTP reachability, writes as www-data and database marker survival across down/up (M1 task3/task5 reports). These are historical Linux checks, not a fresh Docker replay. Closing on that evidence; not a production-readiness claim.

Acceptance reconciliation at c1ef2ee: Compose services, PG health gate/volume and writable library bind are implemented. Historical M1 runtime checks recorded HTTP reachability, writes as www-data and database marker survival across down/up (M1 task3/task5 reports). These are historical Linux checks, not a fresh Docker replay. Closing on that evidence; not a production-readiness claim.
keith closed this issue 2026-10-12 18:54:34 +00:00
Sign in to join this conversation.