Files
Cyrene_v2/docker-compose.yml
T
Aska dee48b6766
Cyrene CI / backend (push) Has been cancelled
Cyrene CI / frontend (push) Has been cancelled
feat: add automation, reminders, notifications, msg search, session export, image analysis, host exec, PWA, Docker, E2E, CI/CD
- Automation: rules CRUD (in-memory store + API)
- Reminders: CRUD (in-memory store + API)
- Notifications: push interface for future push server
- Message search: API endpoint with DB-backed query
- Session export: /sessions/:id/export → Markdown
- Image analysis: API stub for multimodal LLM
- Host exec: API stub for Docker sandbox
- PWA: manifest.json + service worker
- Docker: Dockerfile + docker-compose.yml
- E2E: Playwright test scaffold
- CI/CD: GitHub Actions workflow (go test + tsc)
2026-08-12 19:43:46 +08:00

41 lines
1.1 KiB
YAML

version: '3.8'
services:
postgres:
image: pgvector/pgvector:pg16
container_name: cyrene_postgres
environment:
POSTGRES_USER: cyrene
POSTGRES_PASSWORD: cyrene_pass
POSTGRES_DB: cyrene_ai
ports: ["5432:5432"]
volumes: [cyrene_pg:/var/lib/postgresql/data]
healthcheck:
test: ["CMD-SHELL", "pg_isready -U cyrene -d cyrene_ai"]
interval: 10s; timeout: 3s; retries: 5
cyrene:
build:
context: ./backend
dockerfile: Dockerfile
container_name: cyrene_app
ports: ["8080:8080"]
environment:
ENV: production
POSTGRES_HOST: postgres
POSTGRES_PORT: "5432"
POSTGRES_USER: cyrene
POSTGRES_PASSWORD: cyrene_pass
POSTGRES_DB: cyrene_ai
JWT_SECRET: ${JWT_SECRET:-change-me-32-chars-minimum!!}
ADMIN_PASSWORD: ${ADMIN_PASSWORD:-admin12345}
LLM_API_URL: ${LLM_API_URL:-https://api.deepseek.com/v1}
LLM_API_KEY: ${LLM_API_KEY}
LLM_MODEL: ${LLM_MODEL:-deepseek-v4-flash}
depends_on:
postgres:
condition: service_healthy
restart: unless-stopped
volumes:
cyrene_pg: