-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.prod.yml
More file actions
66 lines (57 loc) · 2.09 KB
/
docker-compose.prod.yml
File metadata and controls
66 lines (57 loc) · 2.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
version: '3.8'
# ============================================================================
# OpenGristAI - Production Docker Compose
# ============================================================================
#
# Utilise l'image précompilée depuis Docker Hub (nicolassaint/opengristai)
# Idéal pour les utilisateurs finaux qui veulent simplement lancer l'application.
#
# USAGE:
# 1. Créer un fichier .env avec vos variables :
# OPENAI_API_KEY=sk-...
# OPENAI_MODEL=gpt-4o-mini
# GRIST_BASE_URL=https://docs.getgrist.com
#
# 2. Lancer :
# docker-compose -f docker-compose.prod.yml up -d
#
# 3. Accéder à http://localhost:8000
#
# ============================================================================
services:
# 🚀 OpenGristAI (Backend + Frontend combinés)
opengristai:
image: nicolassaint/opengristai:latest
container_name: opengristai
ports:
- "${API_PORT:-8000}:8000"
environment:
# OpenAI Configuration (required)
OPENAI_API_KEY: ${OPENAI_API_KEY}
OPENAI_BASE_URL: ${OPENAI_BASE_URL:-https://api.openai.com/v1}
OPENAI_MODEL: ${OPENAI_MODEL:-gpt-4o-mini}
# LLM Settings (optional)
LLM_TEMPERATURE: ${LLM_TEMPERATURE:-0.0}
LLM_MAX_TOKENS: ${LLM_MAX_TOKENS:-}
LLM_TIMEOUT: ${LLM_TIMEOUT:-60}
LLM_MAX_RETRIES: ${LLM_MAX_RETRIES:-2}
# Grist Configuration (optional)
GRIST_BASE_URL: ${GRIST_BASE_URL:-https://docs.getgrist.com}
# Agent Settings (optional)
AGENT_MAX_ITERATIONS: ${AGENT_MAX_ITERATIONS:-15}
AGENT_VERBOSE: ${AGENT_VERBOSE:-true}
# Application
ENVIRONMENT: ${ENVIRONMENT:-production}
LOG_LEVEL: ${LOG_LEVEL:-INFO}
# CORS Configuration
# In production, set this to your actual domain(s)
# Example: https://your-domain.com,https://grist.numerique.gouv.fr
CORS_ORIGINS: ${CORS_ORIGINS:-http://localhost:8000}
restart: unless-stopped
# Health check
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000/api/v1/health"]
interval: 30s
timeout: 5s
retries: 3
start_period: 10s