00466a9801
Introduces a manifest contract so feature containers self-describe their settings (JSON Schema + access rules). Backend and frontend gain generic plugin proxy and dynamic Extensions UI with zero feature-specific code. Doc-service is the first plugin consumer: exposes /plugin/manifest and /plugin/settings, adds a watchdog-based file watcher that auto-ingests PDFs from a mounted directory, maps subfolders to categories, supports AI-suggested folder/filename (user-confirmed), and enforces a no-remove policy. Access is gated by is_superuser or doc-service-admin group. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
38 lines
1016 B
YAML
38 lines
1016 B
YAML
# Development overrides — hot reload for backend and frontend
|
|
# Usage: docker compose -f docker-compose.yml -f docker-compose.dev.yml up --build
|
|
|
|
services:
|
|
|
|
backend:
|
|
user: "1001:1001"
|
|
command: sh scripts/start_dev.sh
|
|
volumes:
|
|
- ./backend:/app
|
|
|
|
frontend:
|
|
build:
|
|
context: ./frontend
|
|
target: builder # stop at the Node stage, skip nginx
|
|
user: "1001:1001"
|
|
command: npm run dev -- --host 0.0.0.0
|
|
ports:
|
|
- "5173:5173"
|
|
environment:
|
|
VITE_API_TARGET: http://backend:8000
|
|
volumes:
|
|
- ./frontend:/app
|
|
- /app/node_modules
|
|
|
|
ai-service:
|
|
command: sh scripts/start_dev.sh
|
|
env_file: ./features/ai-service/.env # gitignored — holds LM Studio / AI credentials
|
|
volumes:
|
|
- ./features/ai-service:/app
|
|
|
|
doc-service:
|
|
command: sh scripts/start_dev.sh
|
|
env_file: ./features/doc-service/.env
|
|
volumes:
|
|
- ./features/doc-service:/app
|
|
- ./dev-watch:/data/watch # bind-mount local folder for easy testing
|