Files
k-notes/compose.yml
2025-12-26 00:32:20 +00:00

64 lines
1.4 KiB
YAML

services:
backend:
build: .
ports:
- "3000:3000"
environment:
# In production, use a secure secret
- SESSION_SECRET=dev_secret_key_12345
- DATABASE_URL=sqlite:///app/data/notes.db
- CORS_ALLOWED_ORIGINS=http://localhost:8080,http://localhost:5173
- HOST=0.0.0.0
- PORT=3000
- ALLOW_REGISTRATION=true
volumes:
- ./data:/app/data
worker:
build: .
command: ["./notes-worker"]
environment:
- DATABASE_URL=sqlite:///app/data/notes.db
- BROKER_URL=nats://nats:4222
- QDRANT_URL=http://qdrant:6334
- EMBEDDING_PROVIDER=fastembed
depends_on:
- backend
- nats
- qdrant
volumes:
- ./data:/app/data
frontend:
build: ./k-notes-frontend
ports:
- "8080:80"
environment:
# This sets the default backend URL for the frontend
- API_URL=http://localhost:3000
depends_on:
- backend
nats:
image: nats:alpine
container_name: k_notes_nats
ports:
- "4222:4222"
- "6222:6222"
- "8222:8222"
restart: unless-stopped
qdrant:
image: qdrant/qdrant:latest
container_name: k_notes_qdrant
ports:
- "6333:6333"
- "6334:6334"
volumes:
- ./data/qdrant_storage:/qdrant/storage:z
restart: unless-stopped
# Optional: Define volumes explicitly if needed
# volumes:
# backend_data: