44 lines
1.5 KiB
Plaintext
44 lines
1.5 KiB
Plaintext
APP_ENV=production
|
|
|
|
# Required secrets: generate unique values for every customer environment.
|
|
FERNET_KEY=replace-with-32-plus-character-fernet-key
|
|
JWT_SECRET=replace-with-32-plus-character-jwt-secret
|
|
|
|
# Database credentials used by docker-compose.prod.yml.
|
|
MYSQL_ROOT_PASSWORD=replace-with-strong-root-password
|
|
MYSQL_DB=clover
|
|
MYSQL_USER=clover
|
|
MYSQL_PASSWORD=replace-with-strong-db-password
|
|
|
|
DATABASE_URL=mysql+pymysql://clover:replace-with-strong-db-password@mysql:3306/clover
|
|
MONGO_URI=mongodb://mongo:27017/clover_trace
|
|
REDIS_URL=redis://redis:6379/0
|
|
|
|
# Public URLs.
|
|
# If frontend and API share the same domain through nginx, keep NEXT_PUBLIC_* empty.
|
|
# If using split domains, set them to the public backend origin, such as https://api.example.com.
|
|
# NEXT_PUBLIC_* are build-time variables. After changing them, rebuild the frontend image.
|
|
NEXT_PUBLIC_API_BASE_URL=
|
|
NEXT_PUBLIC_SSE_BASE_URL=
|
|
# Production should use the real customer domain(s). Do not use "*" in production.
|
|
CORS_ALLOW_ORIGINS=https://your-domain.example
|
|
|
|
# Image/text provider routing.
|
|
IMAGE_PROVIDER_PRIMARY=gpt
|
|
IMAGE_PROVIDER_FALLBACK=gemini
|
|
IMAGE_MODEL=gpt-image-2
|
|
MODEL_IMAGE=gpt-image-2
|
|
MODEL_TEXT=claude-opus-4-8
|
|
APIPORTS_BASE_URL=https://www.apiports.com/v1
|
|
CODEPROXY_BASE_URL=
|
|
GEMINI_API_URL=https://generativelanguage.googleapis.com/v1beta
|
|
|
|
# Optional platform keys. Normal customer keys should be entered in the UI.
|
|
APIPORTS_KEY=
|
|
CODEPROXY_KEY=
|
|
|
|
MAX_CONCURRENT_TASKS_PER_USER=5
|
|
UVICORN_WORKERS=2
|
|
UPLOAD_BASE_PATH=uploads/packages
|
|
UPLOAD_ABS_ROOT=/app/uploads
|