Files
bookorbit/docker-compose.dev.yml
neon e0d3d42150 feat: add read-aloud and media playback support
Add EPUB narration, shared media controls, and native device session integration.

Apply the generated migrations and update all first-party clients alongside the server.

BREAKING CHANGE: introduce incompatible database and API contracts for media playback
2026-09-19 02:27:05 +00:00

48 lines
1.4 KiB
YAML

name: bookorbit-dev
services:
postgres:
container_name: bookorbit-dev-db
image: pgvector/pgvector:pg18
restart: unless-stopped
environment:
POSTGRES_USER: ${DEV_POSTGRES_USER:-bookorbit}
POSTGRES_PASSWORD: ${DEV_POSTGRES_PASSWORD:-bookorbit}
POSTGRES_DB: ${DEV_POSTGRES_DB:-bookorbit}
POSTGRES_HOST_AUTH_METHOD: trust
ports:
- "${DEV_POSTGRES_PORT:-5432}:5432"
volumes:
- postgres_data:/var/lib/postgresql
- ./docker/postgres/init.sql:/docker-entrypoint-initdb.d/init.sql
healthcheck:
test:
["CMD-SHELL", 'pg_isready -U "$${POSTGRES_USER}" -d "$${POSTGRES_DB}"']
interval: 5s
timeout: 5s
retries: 5
# Opt-in: `pnpm tts:up`, or `docker compose -f docker-compose.dev.yml --profile tts up -d`.
# Left out of the default set so `pnpm setup` and `pnpm db:up` stay quick for anyone who is not
# working on text-to-speech; the image carries the model and is a large first pull.
kokoro:
container_name: bookorbit-dev-kokoro
image: ghcr.io/remsky/kokoro-fastapi-cpu:v0.8.0
profiles: ["tts"]
restart: unless-stopped
ports:
- "${DEV_KOKORO_PORT:-8880}:8880"
healthcheck:
test:
[
"CMD-SHELL",
'python -c "import urllib.request;urllib.request.urlopen(''http://127.0.0.1:8880/v1/audio/voices'')"',
]
interval: 10s
timeout: 5s
retries: 12
start_period: 60s
volumes:
postgres_data: