Essential session storage is required to sign in. Optional analytics remain off unless you allow them.
Use Docker Compose to run a multi-container app: an application service plus a database (and optionally a cache), wired on a shared network so services reach each other by name, with a named volume for the database's data, environment-based config, and depends_on ordering. `docker compose up` must bring the whole stack up and the app must talk to the DB; data must survive a restart.
Services defined in compose.yaml communicate by service name on a shared network; up/down works in one command.
A named volume persists the database's data across docker compose down/up (not lost with the container).
Configuration via environment (env_file or environment); no secrets hardcoded into the image.
The app actually connects to the DB; depends_on / healthchecks order startup sanely.
Use this README structure to make the work reviewable.
DevPath fetches a read-only, size-capped snapshot. Submitted code is never executed.
# A multi-service app with Docker Compose ## Goal Use Docker Compose to run a multi-container app: an application service plus a database (and optionally a cache), wired on a shared network so services reach each other by name, with a named volume for the database's data, environment-based config, and depends_on ordering. `docker compose up` must bring the whole stack up and the app must talk to the DB; data must survive a restart. ## Acceptance criteria - [ ] Compose wiring: Services defined in compose.yaml communicate by service name on a shared network; up/down works in one command. - [ ] Persistence: A named volume persists the database's data across docker compose down/up (not lost with the container). - [ ] Config: Configuration via environment (env_file or environment); no secrets hardcoded into the image. - [ ] Correctness: The app actually connects to the DB; depends_on / healthchecks order startup sanely. ## Verification - [ ] Document installation and run commands. - [ ] Record automated checks and their exact commands. - [ ] Add representative output, screenshots, or a short demo where useful. - [ ] Confirm failure paths and known constraints. ## Decision log ### Decision title - Context: - Choice: - Alternatives considered: - Tradeoffs: ## Evidence - Link each rubric criterion to the file, test, or artifact that demonstrates it. ## Known limitations - List what is intentionally out of scope and what should be improved next.