Self-hosted knowledge management for SMEs: a split-screen Markdown editor whose sections an LLM refines while you write, and RAG question answering over the documents that result. FastAPI + Postgres/pgvector on the back, SvelteKit on the front, everything OpenAI-compatible and self-hostable. Squashed into a single commit; the development history stays local. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CA43ZJda8Rbp2hKXNy8f6b
27 lines
850 B
YAML
27 lines
850 B
YAML
# Dev stack: only Postgres runs in Docker. Backend (uvicorn --reload) and
|
|
# frontend (vite dev) run natively on the host — see `make dev`.
|
|
# Separate project name so a customer-stack smoke test (docker-compose.yml)
|
|
# can run on the same machine without colliding.
|
|
name: pablan-dev
|
|
|
|
services:
|
|
postgres:
|
|
image: pgvector/pgvector:pg18
|
|
environment:
|
|
POSTGRES_USER: ${POSTGRES_USER:-pablan}
|
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-change-me}
|
|
POSTGRES_DB: ${POSTGRES_DB:-pablan}
|
|
ports:
|
|
- "5432:5432"
|
|
volumes:
|
|
# PG18 images expect the mount at /var/lib/postgresql (not .../data)
|
|
- postgres_dev_data:/var/lib/postgresql
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
|
|
interval: 2s
|
|
timeout: 5s
|
|
retries: 15
|
|
|
|
volumes:
|
|
postgres_dev_data:
|