ci / api / api (push) Successful in 27s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m1s
ci / contract / contract (сгенерированный код совпадает с openapi.yaml) (push) Successful in 34s
ci / ts / ts (packages + web) (push) Successful in 1m1s
ci / docker / docker (образы собираются — их сервер собирает сам при обновлении) (push) Successful in 25s
- artists, albums and tracks indexes are rebuilt from PostgreSQL next to the live ones and swapped in, so search keeps working; a rebuild runs on start, after every scan and when a source is removed - transliteration fields (Кино ↔ kino) and a retry in the other keyboard layout (ghbdtn → привет) reported as corrected_query - /search/suggest (3 artists, 3 albums, 5 tracks), /search by type with cursor pages, /admin/search/reindex; Meilisearch is part of /readyz - found ids are hydrated from the catalog, so a lagging index never returns deleted entries Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
75 lines
2.3 KiB
YAML
75 lines
2.3 KiB
YAML
# Зависимости для локальной разработки.
|
||
# 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
|
||
MEILI_URL: http://meilisearch:7700
|
||
MEILI_MASTER_KEY: dev-master-key-change-me
|
||
INTERNAL_TOKEN: dev-internal-token
|
||
COOKIE_SECURE: "false"
|
||
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:
|