VyaparFlow / docker-compose.yml
Dipan04's picture
Add application file
32d42b3
version: "3.8"
services:
vyaparflow:
build:
context: .
dockerfile: Dockerfile
container_name: vyaparflow-hf
ports:
- "7860:7860"
environment:
# ─────────────────────────────────────────────────────────────
# Application Settings
# ─────────────────────────────────────────────────────────────
PYTHONUNBUFFERED: "1"
PYTHONDONTWRITEBYTECODE: "1"
PORT: "7860"
# ─────────────────────────────────────────────────────────────
# Demo Mode (change to false for live LLM)
# ─────────────────────────────────────────────────────────────
NOTIFLOW_DEMO_MODE: "true"
# ─────────────────────────────────────────────────────────────
# NVIDIA NIM Configuration
# ─────────────────────────────────────────────────────────────
NVIDIA_NIM_API_KEY: "${NVIDIA_NIM_API_KEY:-your_api_key_here}"
NVIDIA_NIM_BASE_URL: "https://integrate.api.nvidia.com/v1"
NVIDIA_NIM_MODEL: "deepseek-ai/deepseek-v3.2"
NIM_PRIMARY_MODEL: "deepseek-ai/deepseek-v3.2"
NIM_FALLBACK_MODEL: "deepseek-ai/deepseek-v3.1"
# ─────────────────────────────────────────────────────────────
# Google Gemini (optional fallback)
# ─────────────────────────────────────────────────────────────
GEMINI_API_KEY: "${GEMINI_API_KEY:-}"
# ─────────────────────────────────────────────────────────────
# OpenRouter (optional secondary fallback)
# ─────────────────────────────────────────────────────────────
OPENROUTER_API_KEY: "${OPENROUTER_API_KEY:-}"
OPENROUTER_MODEL: "deepseek/deepseek-chat"
OPENROUTER_REFERER: "http://localhost:7860"
OPENROUTER_TITLE: "VyaparFlow-Docker"
# ─────────────────────────────────────────────────────────────
# Google Sheets (optional)
# ─────────────────────────────────────────────────────────────
GOOGLE_SHEETS_CREDENTIALS: "credentials/sheets.json"
GOOGLE_SHEET_ID: "${GOOGLE_SHEET_ID:-}"
# ─────────────────────────────────────────────────────────────
# Logging
# ─────────────────────────────────────────────────────────────
LOG_LEVEL: "INFO"
volumes:
# Mount local data directory for persistence
- ./data:/app/data
# Optionally mount credentials (if available)
- ./credentials:/app/credentials:ro
# Health check for container orchestration
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:7860/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 10s
# Resource limits (adjust based on your system)
deploy:
resources:
limits:
cpus: "2"
memory: 2G
reservations:
cpus: "1"
memory: 1G
restart: unless-stopped
# ═════════════════════════════════════════════════════════════════════════
# USAGE:
# ═════════════════════════════════════════════════════════════════════════
#
# Build image:
# docker-compose build
#
# Start service:
# docker-compose up -d
#
# View logs:
# docker-compose logs -f vyaparflow
#
# Test API:
# curl http://localhost:7860/health
# curl -X POST http://localhost:7860/process \
# -H "Content-Type: application/json" \
# -d '{"message": "rahul ne 15000 bheja"}'
#
# Stop service:
# docker-compose down
#
# Remove image:
# docker-compose down -v
#
# ═════════════════════════════════════════════════════════════════════════