airi/apps/server/docker-compose.yml
RainbowBird f259e7eb92
Some checks are pending
Cloudflare Workers (server-dev) / Deploy - stage-web (server-dev) (push) Waiting to run
feat(server): replace legacy health endpoints with K8s-style /livez and /readyz probes
2026-05-15 19:02:57 +08:00

60 lines
1.3 KiB
YAML

name: proj-airi-server
services:
db:
image: ghcr.io/tensorchord/vchord-postgres:pg18-v1.0.0
environment:
- POSTGRES_DB=postgres
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=example-PAssw0rd-xHjDYR.b7N
ports:
- '5435:5432'
volumes:
- ./sql/init.sql:/docker-entrypoint-initdb.d/init.sql
- db_data:/var/lib/postgresql
healthcheck:
test: ['CMD-SHELL', 'pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB']
interval: 5s
timeout: 5s
retries: 10
redis:
image: redis:7-alpine
ports:
- '6379:6379'
volumes:
- redis_data:/data
healthcheck:
test: ['CMD', 'redis-cli', 'ping']
interval: 5s
timeout: 5s
retries: 10
api:
build:
context: ../..
dockerfile: apps/server/Dockerfile
command: ['pnpm', '-F', '@proj-airi/server', 'run', 'server', 'api']
depends_on:
db:
condition: service_healthy
redis:
condition: service_healthy
env_file:
- path: .env
required: false
- path: .env.local
required: false
ports:
- '6112:3000'
healthcheck:
test: ['CMD-SHELL', 'curl -f http://localhost:3000/livez || exit 1']
interval: 10s
timeout: 5s
retries: 5
volumes:
db_data:
driver: local
redis_data:
driver: local