# Task 5 Report: Dev-Postgres в docker compose (схема на тенанта) Date: 2026-09-05 ## Files created - `deploy/compose.dev.yml` — verbatim from the plan (Step 1): service `postgres`, image `postgres:16-alpine`, `container_name: deal-postgres`, host port `5433:5432`, volume `deal_pgdata`, healthcheck `pg_isready -U deal -d deal` (interval 5s, timeout 3s, retries 10). - `deploy/.env.example` — verbatim from the plan (Step 2): `DEAL_PG_HOST/PORT/DB/USER/PASSWORD` (`localhost:5433`, `deal`/`deal`/`deal_dev_password`). `deploy/` directory did not exist and was created. ## Container status - Command: `docker compose -f deploy/compose.dev.yml up -d` - Result: `deal-postgres` created and started; image was already present locally (no long pull). - Final status: `Up (healthy)` on `0.0.0.0:5433->5432/tcp`. - Existing LeadRadar containers (`leadradar`, `leadradar-ml`, `leadradar-minio`) were NOT touched and remain running. ## psql verification (Step 4) Command: ``` docker exec deal-postgres psql -U deal -d deal -c "SELECT current_database(), current_schema();" ``` Output: ``` current_database | current_schema ------------------+---------------- deal | public (1 row) ``` Expected `deal | public` — PASS. DB `deal`, default schema `public` ready for migrations. ## README change (Step 5) Appended to root `README.md` (existing content intact): ```markdown ## Запуск dev-окружения Postgres (схема на тенанта): `docker compose -f deploy/compose.dev.yml up -d` ``` ## Concerns - None blocking. Minor notes: - Password `deal_dev_password` is hardcoded dev-only value, fine for local dev per plan. - Compose project name defaults to `deploy` (network `deploy_default`, volume `deploy_deal_pgdata`), since no `name:` was set in the plan file. Expected per plan; consistent on any host using `-f deploy/compose.dev.yml`. - `postgres:16-alpine` was already cached locally, so startup was fast; first pull on a fresh host will take longer.