Files
pipu-music/deploy/compose.dev.yaml
T
mrleo1nidandClaude Opus 5.5 c1160cccd3
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
feat(api): search with Meilisearch (M2)
- 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>
2026-10-20 06:51:50 +03:00

75 lines
2.3 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Зависимости для локальной разработки.
# 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: