# Зависимости для локальной разработки. # docker compose -f deploy/compose.dev.yaml up -d # postgres, redis, meilisearch # docker compose -f deploy/compose.dev.yaml --profile app up # + api и recommender из исходников # Затем: веб — `pnpm --filter @pipu/web dev` (проксирует /api на :8080), # api без docker — см. README, раздел «Разработка». # Порты слушают только 127.0.0.1: у Redis нет пароля, а у dev-Postgres он известен всем. name: pipu-dev services: postgres: image: pgvector/pgvector:0.8.7-pg17 environment: POSTGRES_USER: pipu POSTGRES_PASSWORD: pipu POSTGRES_DB: pipu ports: ["127.0.0.1:5432:5432"] volumes: [pg-data:/var/lib/postgresql/data] healthcheck: test: ["CMD-SHELL", "pg_isready -U pipu -d pipu"] interval: 5s retries: 10 redis: image: redis:7.4-alpine ports: ["127.0.0.1:6379:6379"] healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 5s retries: 10 meilisearch: image: getmeili/meilisearch:v1.11 environment: MEILI_MASTER_KEY: dev-master-key-change-me MEILI_ENV: development ports: ["127.0.0.1:7700:7700"] volumes: [meili-data:/meili_data] api: profiles: [app] build: context: .. dockerfile: services/api/Dockerfile target: api environment: DATABASE_URL: postgres://pipu:pipu@postgres:5432/pipu?sslmode=disable REDIS_URL: redis://redis:6379/0 LOG_LEVEL: debug ports: ["127.0.0.1:8080:8080"] depends_on: postgres: { condition: service_healthy } redis: { condition: service_healthy } recommender: profiles: [app] build: context: .. dockerfile: services/recommender/Dockerfile environment: DATABASE_URL: postgresql://pipu:pipu@postgres:5432/pipu REDIS_URL: redis://redis:6379/0 INTERNAL_TOKEN: dev-internal-token ports: ["127.0.0.1:8000:8000"] depends_on: postgres: { condition: service_healthy } redis: { condition: service_healthy } volumes: pg-data: meili-data: