mirror of
https://github.com/geoffsee/predict-otron-9001.git
synced 2025-09-08 22:46:44 +00:00
Add Docker Compose setup for Predict-O-Tron 9000 and Leptos Chat
This commit is contained in:
54
docker-compose.yml
Normal file
54
docker-compose.yml
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
services:
|
||||||
|
# Main orchestration server - handles inference and embeddings
|
||||||
|
predict-otron-9000:
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: crates/predict-otron-9000/Dockerfile
|
||||||
|
ports:
|
||||||
|
- "8080:8080"
|
||||||
|
environment:
|
||||||
|
- SERVER_PORT=8080
|
||||||
|
- RUST_LOG=${RUST_LOG:-info}
|
||||||
|
- HF_TOKEN=${HF_TOKEN}
|
||||||
|
- HF_HOME=/app/.hf-cache
|
||||||
|
volumes:
|
||||||
|
# Mount HF cache to persist downloaded models
|
||||||
|
- hf-cache:/app/.hf-cache
|
||||||
|
# Mount FastEmbed cache for embeddings
|
||||||
|
- fastembed-cache:/app/.fastembed_cache
|
||||||
|
networks:
|
||||||
|
- predict-otron-network
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "curl", "-f", "http://localhost:8080"]
|
||||||
|
interval: 5s
|
||||||
|
timeout: 1s
|
||||||
|
retries: 10
|
||||||
|
start_period: 10s
|
||||||
|
|
||||||
|
# Web frontend - Leptos WASM chat interface
|
||||||
|
leptos-chat:
|
||||||
|
build:
|
||||||
|
context: crates/leptos-chat
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
ports:
|
||||||
|
- "8788:8788"
|
||||||
|
depends_on:
|
||||||
|
predict-otron-9000:
|
||||||
|
condition: service_healthy
|
||||||
|
networks:
|
||||||
|
- predict-otron-network
|
||||||
|
environment:
|
||||||
|
# Configure API endpoint for the frontend to connect to backend
|
||||||
|
- API_BASE_URL=http://predict-otron-9000:8080
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
# Persistent storage for Hugging Face model cache
|
||||||
|
hf-cache:
|
||||||
|
driver: local
|
||||||
|
# Persistent storage for FastEmbed model cache
|
||||||
|
fastembed-cache:
|
||||||
|
driver: local
|
||||||
|
|
||||||
|
networks:
|
||||||
|
predict-otron-network:
|
||||||
|
driver: bridge
|
Reference in New Issue
Block a user