Files
2026-07-13 13:08:41 +08:00

477 lines
22 KiB
YAML

services:
production:
platform: ${PRESENTON_DOCKER_PLATFORM:-linux/amd64}
# image: ghcr.io/presenton/presenton:latest
build:
context: .
dockerfile: Dockerfile
ports:
# Set PRESENTON_HTTP_HOST_PORT to change the host port.
- "${PRESENTON_HTTP_HOST_PORT:-5001}:80"
# Required for Codex OAuth callback (OpenAI redirects browser directly to localhost:1455)
- "1455:1455"
volumes:
- ./app_data:/app_data
- ./servers/fastapi/templates:/app/servers/fastapi/templates:ro
- ./servers/fastapi/utils/internal_http.py:/app/servers/fastapi/utils/internal_http.py:ro
environment:
- PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium
- PRESENTON_HOST_HTTP_PORT=${PRESENTON_HOST_HTTP_PORT:-5001}
- MIGRATE_DATABASE_ON_STARTUP=true
- CAN_CHANGE_KEYS=${CAN_CHANGE_KEYS:-}
- LLM=${LLM:-}
- OPENAI_API_KEY=${OPENAI_API_KEY:-}
- OPENAI_MODEL=${OPENAI_MODEL:-}
- DEEPSEEK_API_KEY=${DEEPSEEK_API_KEY:-}
- DEEPSEEK_MODEL=${DEEPSEEK_MODEL:-}
- DEEPSEEK_BASE_URL=${DEEPSEEK_BASE_URL:-}
- GOOGLE_API_KEY=${GOOGLE_API_KEY:-}
- GOOGLE_MODEL=${GOOGLE_MODEL:-}
- VERTEX_API_KEY=${VERTEX_API_KEY:-}
- VERTEX_MODEL=${VERTEX_MODEL:-}
- VERTEX_PROJECT=${VERTEX_PROJECT:-}
- VERTEX_LOCATION=${VERTEX_LOCATION:-}
- VERTEX_BASE_URL=${VERTEX_BASE_URL:-}
- AZURE_OPENAI_API_KEY=${AZURE_OPENAI_API_KEY:-}
- AZURE_OPENAI_MODEL=${AZURE_OPENAI_MODEL:-}
- AZURE_OPENAI_ENDPOINT=${AZURE_OPENAI_ENDPOINT:-}
- AZURE_OPENAI_BASE_URL=${AZURE_OPENAI_BASE_URL:-}
- AZURE_OPENAI_API_VERSION=${AZURE_OPENAI_API_VERSION:-}
- AZURE_OPENAI_DEPLOYMENT=${AZURE_OPENAI_DEPLOYMENT:-}
- BEDROCK_REGION=${BEDROCK_REGION:-}
- BEDROCK_API_KEY=${BEDROCK_API_KEY:-}
- BEDROCK_AWS_ACCESS_KEY_ID=${BEDROCK_AWS_ACCESS_KEY_ID:-}
- BEDROCK_AWS_SECRET_ACCESS_KEY=${BEDROCK_AWS_SECRET_ACCESS_KEY:-}
- BEDROCK_AWS_SESSION_TOKEN=${BEDROCK_AWS_SESSION_TOKEN:-}
- BEDROCK_PROFILE_NAME=${BEDROCK_PROFILE_NAME:-}
- BEDROCK_MODEL=${BEDROCK_MODEL:-}
- OPENROUTER_API_KEY=${OPENROUTER_API_KEY:-}
- OPENROUTER_MODEL=${OPENROUTER_MODEL:-}
- OPENROUTER_BASE_URL=${OPENROUTER_BASE_URL:-}
- FIREWORKS_API_KEY=${FIREWORKS_API_KEY:-}
- FIREWORKS_MODEL=${FIREWORKS_MODEL:-}
- FIREWORKS_BASE_URL=${FIREWORKS_BASE_URL:-}
- TOGETHER_API_KEY=${TOGETHER_API_KEY:-}
- TOGETHER_MODEL=${TOGETHER_MODEL:-}
- TOGETHER_BASE_URL=${TOGETHER_BASE_URL:-}
- CEREBRAS_API_KEY=${CEREBRAS_API_KEY:-}
- CEREBRAS_MODEL=${CEREBRAS_MODEL:-}
- CEREBRAS_BASE_URL=${CEREBRAS_BASE_URL:-}
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY:-}
- ANTHROPIC_MODEL=${ANTHROPIC_MODEL:-}
- OLLAMA_URL=${OLLAMA_URL:-}
- OLLAMA_MODEL=${OLLAMA_MODEL:-}
- START_OLLAMA=${START_OLLAMA:-false}
- CUSTOM_LLM_URL=${CUSTOM_LLM_URL:-}
- CUSTOM_LLM_API_KEY=${CUSTOM_LLM_API_KEY:-}
- CUSTOM_MODEL=${CUSTOM_MODEL:-}
- LITELLM_BASE_URL=${LITELLM_BASE_URL:-}
- LITELLM_API_KEY=${LITELLM_API_KEY:-}
- LITELLM_MODEL=${LITELLM_MODEL:-}
- LMSTUDIO_BASE_URL=${LMSTUDIO_BASE_URL:-}
- LMSTUDIO_API_KEY=${LMSTUDIO_API_KEY:-}
- LMSTUDIO_MODEL=${LMSTUDIO_MODEL:-}
- CODEX_MODEL=${CODEX_MODEL:-}
- DISABLE_IMAGE_GENERATION=${DISABLE_IMAGE_GENERATION:-}
- IMAGE_PROVIDER=${IMAGE_PROVIDER:-}
- PEXELS_API_KEY=${PEXELS_API_KEY:-}
- PIXABAY_API_KEY=${PIXABAY_API_KEY:-}
- DALL_E_3_QUALITY=${DALL_E_3_QUALITY:-}
- GPT_IMAGE_1_5_QUALITY=${GPT_IMAGE_1_5_QUALITY:-}
- EXTENDED_REASONING=${EXTENDED_REASONING:-}
- DISABLE_THINKING=${DISABLE_THINKING:-}
- WEB_GROUNDING=${WEB_GROUNDING:-}
- WEB_SEARCH_PROVIDER=${WEB_SEARCH_PROVIDER:-}
- WEB_SEARCH_MAX_RESULTS=${WEB_SEARCH_MAX_RESULTS:-}
- SEARXNG_BASE_URL=${SEARXNG_BASE_URL:-}
- TAVILY_API_KEY=${TAVILY_API_KEY:-}
- EXA_API_KEY=${EXA_API_KEY:-}
- BRAVE_SEARCH_API_KEY=${BRAVE_SEARCH_API_KEY:-}
- SERPER_API_KEY=${SERPER_API_KEY:-}
- DATABASE_URL=${DATABASE_URL:-}
- DISABLE_ANONYMOUS_TRACKING=${DISABLE_ANONYMOUS_TRACKING:-}
- COMFYUI_URL=${COMFYUI_URL:-}
- COMFYUI_WORKFLOW=${COMFYUI_WORKFLOW:-}
- MEM0_LLM_MODEL=${MEM0_LLM_MODEL:-${OLLAMA_MODEL:-llama3.1:latest}}
- MEM0_LLM_API_KEY=${MEM0_LLM_API_KEY:-ollama}
- MEM0_LLM_BASE_URL=${MEM0_LLM_BASE_URL:-${OLLAMA_URL:-http://host.docker.internal:11434}}
- MEM0_ENABLED=${MEM0_ENABLED:-true}
- MEM0_DIR=${MEM0_DIR:-/app_data/mem0}
- MEM0_EMBEDDER_PROVIDER=${MEM0_EMBEDDER_PROVIDER:-fastembed}
- MEM0_EMBEDDER_MODEL=${MEM0_EMBEDDER_MODEL:-BAAI/bge-small-en-v1.5}
- MEM0_EMBEDDING_DIMS=${MEM0_EMBEDDING_DIMS:-384}
- MEM0_SPACY_MODEL=${MEM0_SPACY_MODEL:-en_core_web_sm}
- MEM0_REQUIRE_SPACY_MODEL=${MEM0_REQUIRE_SPACY_MODEL:-true}
- LITEPARSE_DPI=${LITEPARSE_DPI:-120}
- LITEPARSE_NUM_WORKERS=${LITEPARSE_NUM_WORKERS:-1}
- OPEN_WEBUI_IMAGE_URL=${OPEN_WEBUI_IMAGE_URL:-}
- OPEN_WEBUI_IMAGE_API_KEY=${OPEN_WEBUI_IMAGE_API_KEY:-}
- OPENAI_COMPAT_IMAGE_BASE_URL=${OPENAI_COMPAT_IMAGE_BASE_URL:-}
- OPENAI_COMPAT_IMAGE_API_KEY=${OPENAI_COMPAT_IMAGE_API_KEY:-}
- OPENAI_COMPAT_IMAGE_MODEL=${OPENAI_COMPAT_IMAGE_MODEL:-}
- AUTH_USERNAME=${AUTH_USERNAME:-}
- AUTH_PASSWORD=${AUTH_PASSWORD:-}
- AUTH_OVERRIDE_FROM_ENV=${AUTH_OVERRIDE_FROM_ENV:-}
- RESET_AUTH=${RESET_AUTH:-}
production-gpu:
platform: ${PRESENTON_DOCKER_PLATFORM:-linux/amd64}
# image: ghcr.io/presenton/presenton:latest
build:
context: .
dockerfile: Dockerfile
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities: [gpu]
ports:
# Set PRESENTON_HTTP_HOST_PORT to change the host port.
- "${PRESENTON_HTTP_HOST_PORT:-5001}:80"
# Required for Codex OAuth callback (OpenAI redirects browser directly to localhost:1455)
- "1455:1455"
volumes:
- ./app_data:/app_data
environment:
- PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium
- PRESENTON_HOST_HTTP_PORT=${PRESENTON_HOST_HTTP_PORT:-5000}
- MIGRATE_DATABASE_ON_STARTUP=true
- CAN_CHANGE_KEYS=${CAN_CHANGE_KEYS:-}
- LLM=${LLM:-}
- OPENAI_API_KEY=${OPENAI_API_KEY:-}
- OPENAI_MODEL=${OPENAI_MODEL:-}
- DEEPSEEK_API_KEY=${DEEPSEEK_API_KEY:-}
- DEEPSEEK_MODEL=${DEEPSEEK_MODEL:-}
- DEEPSEEK_BASE_URL=${DEEPSEEK_BASE_URL:-}
- GOOGLE_API_KEY=${GOOGLE_API_KEY:-}
- GOOGLE_MODEL=${GOOGLE_MODEL:-}
- VERTEX_API_KEY=${VERTEX_API_KEY:-}
- VERTEX_MODEL=${VERTEX_MODEL:-}
- VERTEX_PROJECT=${VERTEX_PROJECT:-}
- VERTEX_LOCATION=${VERTEX_LOCATION:-}
- VERTEX_BASE_URL=${VERTEX_BASE_URL:-}
- AZURE_OPENAI_API_KEY=${AZURE_OPENAI_API_KEY:-}
- AZURE_OPENAI_MODEL=${AZURE_OPENAI_MODEL:-}
- AZURE_OPENAI_ENDPOINT=${AZURE_OPENAI_ENDPOINT:-}
- AZURE_OPENAI_BASE_URL=${AZURE_OPENAI_BASE_URL:-}
- AZURE_OPENAI_API_VERSION=${AZURE_OPENAI_API_VERSION:-}
- AZURE_OPENAI_DEPLOYMENT=${AZURE_OPENAI_DEPLOYMENT:-}
- BEDROCK_REGION=${BEDROCK_REGION:-}
- BEDROCK_API_KEY=${BEDROCK_API_KEY:-}
- BEDROCK_AWS_ACCESS_KEY_ID=${BEDROCK_AWS_ACCESS_KEY_ID:-}
- BEDROCK_AWS_SECRET_ACCESS_KEY=${BEDROCK_AWS_SECRET_ACCESS_KEY:-}
- BEDROCK_AWS_SESSION_TOKEN=${BEDROCK_AWS_SESSION_TOKEN:-}
- BEDROCK_PROFILE_NAME=${BEDROCK_PROFILE_NAME:-}
- BEDROCK_MODEL=${BEDROCK_MODEL:-}
- OPENROUTER_API_KEY=${OPENROUTER_API_KEY:-}
- OPENROUTER_MODEL=${OPENROUTER_MODEL:-}
- OPENROUTER_BASE_URL=${OPENROUTER_BASE_URL:-}
- FIREWORKS_API_KEY=${FIREWORKS_API_KEY:-}
- FIREWORKS_MODEL=${FIREWORKS_MODEL:-}
- FIREWORKS_BASE_URL=${FIREWORKS_BASE_URL:-}
- TOGETHER_API_KEY=${TOGETHER_API_KEY:-}
- TOGETHER_MODEL=${TOGETHER_MODEL:-}
- TOGETHER_BASE_URL=${TOGETHER_BASE_URL:-}
- CEREBRAS_API_KEY=${CEREBRAS_API_KEY:-}
- CEREBRAS_MODEL=${CEREBRAS_MODEL:-}
- CEREBRAS_BASE_URL=${CEREBRAS_BASE_URL:-}
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY:-}
- ANTHROPIC_MODEL=${ANTHROPIC_MODEL:-}
- OLLAMA_URL=${OLLAMA_URL:-}
- OLLAMA_MODEL=${OLLAMA_MODEL:-}
- START_OLLAMA=${START_OLLAMA:-false}
- CUSTOM_LLM_URL=${CUSTOM_LLM_URL:-}
- CUSTOM_LLM_API_KEY=${CUSTOM_LLM_API_KEY:-}
- CUSTOM_MODEL=${CUSTOM_MODEL:-}
- LITELLM_BASE_URL=${LITELLM_BASE_URL:-}
- LITELLM_API_KEY=${LITELLM_API_KEY:-}
- LITELLM_MODEL=${LITELLM_MODEL:-}
- LMSTUDIO_BASE_URL=${LMSTUDIO_BASE_URL:-}
- LMSTUDIO_API_KEY=${LMSTUDIO_API_KEY:-}
- LMSTUDIO_MODEL=${LMSTUDIO_MODEL:-}
- CODEX_MODEL=${CODEX_MODEL:-}
- DISABLE_IMAGE_GENERATION=${DISABLE_IMAGE_GENERATION:-}
- IMAGE_PROVIDER=${IMAGE_PROVIDER:-}
- PEXELS_API_KEY=${PEXELS_API_KEY:-}
- PIXABAY_API_KEY=${PIXABAY_API_KEY:-}
- DALL_E_3_QUALITY=${DALL_E_3_QUALITY:-}
- GPT_IMAGE_1_5_QUALITY=${GPT_IMAGE_1_5_QUALITY:-}
- EXTENDED_REASONING=${EXTENDED_REASONING:-}
- DISABLE_THINKING=${DISABLE_THINKING:-}
- WEB_GROUNDING=${WEB_GROUNDING:-}
- WEB_SEARCH_PROVIDER=${WEB_SEARCH_PROVIDER:-}
- WEB_SEARCH_MAX_RESULTS=${WEB_SEARCH_MAX_RESULTS:-}
- SEARXNG_BASE_URL=${SEARXNG_BASE_URL:-}
- TAVILY_API_KEY=${TAVILY_API_KEY:-}
- EXA_API_KEY=${EXA_API_KEY:-}
- BRAVE_SEARCH_API_KEY=${BRAVE_SEARCH_API_KEY:-}
- SERPER_API_KEY=${SERPER_API_KEY:-}
- DATABASE_URL=${DATABASE_URL:-}
- DISABLE_ANONYMOUS_TRACKING=${DISABLE_ANONYMOUS_TRACKING:-}
- COMFYUI_URL=${COMFYUI_URL:-}
- COMFYUI_WORKFLOW=${COMFYUI_WORKFLOW:-}
- MEM0_LLM_MODEL=${MEM0_LLM_MODEL:-${OLLAMA_MODEL:-llama3.1:latest}}
- MEM0_LLM_API_KEY=${MEM0_LLM_API_KEY:-ollama}
- MEM0_LLM_BASE_URL=${MEM0_LLM_BASE_URL:-${OLLAMA_URL:-http://host.docker.internal:11434}}
- MEM0_ENABLED=${MEM0_ENABLED:-true}
- MEM0_DIR=${MEM0_DIR:-/app_data/mem0}
- MEM0_EMBEDDER_PROVIDER=${MEM0_EMBEDDER_PROVIDER:-fastembed}
- MEM0_EMBEDDER_MODEL=${MEM0_EMBEDDER_MODEL:-BAAI/bge-small-en-v1.5}
- MEM0_EMBEDDING_DIMS=${MEM0_EMBEDDING_DIMS:-384}
- MEM0_SPACY_MODEL=${MEM0_SPACY_MODEL:-en_core_web_sm}
- MEM0_REQUIRE_SPACY_MODEL=${MEM0_REQUIRE_SPACY_MODEL:-true}
- LITEPARSE_DPI=${LITEPARSE_DPI:-120}
- LITEPARSE_NUM_WORKERS=${LITEPARSE_NUM_WORKERS:-1}
- OPEN_WEBUI_IMAGE_URL=${OPEN_WEBUI_IMAGE_URL:-}
- OPEN_WEBUI_IMAGE_API_KEY=${OPEN_WEBUI_IMAGE_API_KEY:-}
- OPENAI_COMPAT_IMAGE_BASE_URL=${OPENAI_COMPAT_IMAGE_BASE_URL:-}
- OPENAI_COMPAT_IMAGE_API_KEY=${OPENAI_COMPAT_IMAGE_API_KEY:-}
- OPENAI_COMPAT_IMAGE_MODEL=${OPENAI_COMPAT_IMAGE_MODEL:-}
- AUTH_USERNAME=${AUTH_USERNAME:-}
- AUTH_PASSWORD=${AUTH_PASSWORD:-}
- AUTH_OVERRIDE_FROM_ENV=${AUTH_OVERRIDE_FROM_ENV:-}
- RESET_AUTH=${RESET_AUTH:-}
development:
platform: ${PRESENTON_DOCKER_PLATFORM:-linux/amd64}
build:
context: .
dockerfile: Dockerfile.dev
ports:
- "${PRESENTON_HTTP_HOST_PORT:-5001}:80"
# Required for Codex OAuth callback (OpenAI redirects browser directly to localhost:1455)
- "1455:1455"
volumes:
- .:/app
- presenton_root_node_modules:/app/node_modules
- presenton_document_extraction_liteparse:/app/document-extraction-liteparse
- ./app_data:/app_data
environment:
# Bundled PPTX/PDF export (Puppeteer); matches CI and production image.
- PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium
- PRESENTON_HOST_HTTP_PORT=${PRESENTON_HOST_HTTP_PORT:-5001}
# Ollama is not baked into the image; set START_OLLAMA=true for runtime install, or use OLLAMA_URL.
- START_OLLAMA=${START_OLLAMA:-false}
- MIGRATE_DATABASE_ON_STARTUP=true
- CAN_CHANGE_KEYS=${CAN_CHANGE_KEYS:-}
- LLM=${LLM:-}
- OPENAI_API_KEY=${OPENAI_API_KEY:-}
- OPENAI_MODEL=${OPENAI_MODEL:-}
- DEEPSEEK_API_KEY=${DEEPSEEK_API_KEY:-}
- DEEPSEEK_MODEL=${DEEPSEEK_MODEL:-}
- DEEPSEEK_BASE_URL=${DEEPSEEK_BASE_URL:-}
- GOOGLE_API_KEY=${GOOGLE_API_KEY:-}
- GOOGLE_MODEL=${GOOGLE_MODEL:-}
- VERTEX_API_KEY=${VERTEX_API_KEY:-}
- VERTEX_MODEL=${VERTEX_MODEL:-}
- VERTEX_PROJECT=${VERTEX_PROJECT:-}
- VERTEX_LOCATION=${VERTEX_LOCATION:-}
- VERTEX_BASE_URL=${VERTEX_BASE_URL:-}
- AZURE_OPENAI_API_KEY=${AZURE_OPENAI_API_KEY:-}
- AZURE_OPENAI_MODEL=${AZURE_OPENAI_MODEL:-}
- AZURE_OPENAI_ENDPOINT=${AZURE_OPENAI_ENDPOINT:-}
- AZURE_OPENAI_BASE_URL=${AZURE_OPENAI_BASE_URL:-}
- AZURE_OPENAI_API_VERSION=${AZURE_OPENAI_API_VERSION:-}
- AZURE_OPENAI_DEPLOYMENT=${AZURE_OPENAI_DEPLOYMENT:-}
- BEDROCK_REGION=${BEDROCK_REGION:-}
- BEDROCK_API_KEY=${BEDROCK_API_KEY:-}
- BEDROCK_AWS_ACCESS_KEY_ID=${BEDROCK_AWS_ACCESS_KEY_ID:-}
- BEDROCK_AWS_SECRET_ACCESS_KEY=${BEDROCK_AWS_SECRET_ACCESS_KEY:-}
- BEDROCK_AWS_SESSION_TOKEN=${BEDROCK_AWS_SESSION_TOKEN:-}
- BEDROCK_PROFILE_NAME=${BEDROCK_PROFILE_NAME:-}
- BEDROCK_MODEL=${BEDROCK_MODEL:-}
- OPENROUTER_API_KEY=${OPENROUTER_API_KEY:-}
- OPENROUTER_MODEL=${OPENROUTER_MODEL:-}
- OPENROUTER_BASE_URL=${OPENROUTER_BASE_URL:-}
- FIREWORKS_API_KEY=${FIREWORKS_API_KEY:-}
- FIREWORKS_MODEL=${FIREWORKS_MODEL:-}
- FIREWORKS_BASE_URL=${FIREWORKS_BASE_URL:-}
- TOGETHER_API_KEY=${TOGETHER_API_KEY:-}
- TOGETHER_MODEL=${TOGETHER_MODEL:-}
- TOGETHER_BASE_URL=${TOGETHER_BASE_URL:-}
- CEREBRAS_API_KEY=${CEREBRAS_API_KEY:-}
- CEREBRAS_MODEL=${CEREBRAS_MODEL:-}
- CEREBRAS_BASE_URL=${CEREBRAS_BASE_URL:-}
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY:-}
- ANTHROPIC_MODEL=${ANTHROPIC_MODEL:-}
- OLLAMA_URL=${OLLAMA_URL:-}
- OLLAMA_MODEL=${OLLAMA_MODEL:-}
- CUSTOM_LLM_URL=${CUSTOM_LLM_URL:-}
- CUSTOM_LLM_API_KEY=${CUSTOM_LLM_API_KEY:-}
- CUSTOM_MODEL=${CUSTOM_MODEL:-}
- LITELLM_BASE_URL=${LITELLM_BASE_URL:-}
- LITELLM_API_KEY=${LITELLM_API_KEY:-}
- LITELLM_MODEL=${LITELLM_MODEL:-}
- LMSTUDIO_BASE_URL=${LMSTUDIO_BASE_URL:-}
- LMSTUDIO_API_KEY=${LMSTUDIO_API_KEY:-}
- LMSTUDIO_MODEL=${LMSTUDIO_MODEL:-}
- CODEX_MODEL=${CODEX_MODEL:-}
- DISABLE_IMAGE_GENERATION=${DISABLE_IMAGE_GENERATION:-}
- IMAGE_PROVIDER=${IMAGE_PROVIDER:-}
- PEXELS_API_KEY=${PEXELS_API_KEY:-}
- PIXABAY_API_KEY=${PIXABAY_API_KEY:-}
- DALL_E_3_QUALITY=${DALL_E_3_QUALITY:-}
- GPT_IMAGE_1_5_QUALITY=${GPT_IMAGE_1_5_QUALITY:-}
- EXTENDED_REASONING=${EXTENDED_REASONING:-}
- DISABLE_THINKING=${DISABLE_THINKING:-}
- WEB_GROUNDING=${WEB_GROUNDING:-}
- WEB_SEARCH_PROVIDER=${WEB_SEARCH_PROVIDER:-}
- WEB_SEARCH_MAX_RESULTS=${WEB_SEARCH_MAX_RESULTS:-}
- SEARXNG_BASE_URL=${SEARXNG_BASE_URL:-}
- TAVILY_API_KEY=${TAVILY_API_KEY:-}
- EXA_API_KEY=${EXA_API_KEY:-}
- BRAVE_SEARCH_API_KEY=${BRAVE_SEARCH_API_KEY:-}
- SERPER_API_KEY=${SERPER_API_KEY:-}
- DATABASE_URL=${DATABASE_URL:-}
- DISABLE_ANONYMOUS_TRACKING=${DISABLE_ANONYMOUS_TRACKING:-}
- COMFYUI_URL=${COMFYUI_URL:-}
- COMFYUI_WORKFLOW=${COMFYUI_WORKFLOW:-}
- MEM0_LLM_MODEL=${MEM0_LLM_MODEL:-${OLLAMA_MODEL:-llama3.1:latest}}
- MEM0_LLM_API_KEY=${MEM0_LLM_API_KEY:-ollama}
- MEM0_LLM_BASE_URL=${MEM0_LLM_BASE_URL:-${OLLAMA_URL:-http://host.docker.internal:11434}}
- MEM0_ENABLED=${MEM0_ENABLED:-true}
- MEM0_DIR=${MEM0_DIR:-/app_data/mem0}
- MEM0_EMBEDDER_PROVIDER=${MEM0_EMBEDDER_PROVIDER:-fastembed}
- MEM0_EMBEDDER_MODEL=${MEM0_EMBEDDER_MODEL:-BAAI/bge-small-en-v1.5}
- MEM0_EMBEDDING_DIMS=${MEM0_EMBEDDING_DIMS:-384}
- MEM0_SPACY_MODEL=${MEM0_SPACY_MODEL:-en_core_web_sm}
- MEM0_REQUIRE_SPACY_MODEL=${MEM0_REQUIRE_SPACY_MODEL:-true}
- LITEPARSE_DPI=${LITEPARSE_DPI:-120}
- LITEPARSE_NUM_WORKERS=${LITEPARSE_NUM_WORKERS:-1}
- OPEN_WEBUI_IMAGE_URL=${OPEN_WEBUI_IMAGE_URL:-}
- OPEN_WEBUI_IMAGE_API_KEY=${OPEN_WEBUI_IMAGE_API_KEY:-}
- OPENAI_COMPAT_IMAGE_BASE_URL=${OPENAI_COMPAT_IMAGE_BASE_URL:-}
- OPENAI_COMPAT_IMAGE_API_KEY=${OPENAI_COMPAT_IMAGE_API_KEY:-}
- OPENAI_COMPAT_IMAGE_MODEL=${OPENAI_COMPAT_IMAGE_MODEL:-}
- AUTH_USERNAME=${AUTH_USERNAME:-}
- AUTH_PASSWORD=${AUTH_PASSWORD:-}
- AUTH_OVERRIDE_FROM_ENV=${AUTH_OVERRIDE_FROM_ENV:-}
- RESET_AUTH=${RESET_AUTH:-}
development-gpu:
platform: ${PRESENTON_DOCKER_PLATFORM:-linux/amd64}
build:
context: .
dockerfile: Dockerfile.dev
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities: [gpu]
ports:
- "${PRESENTON_HTTP_HOST_PORT:-5001}:80"
# Required for Codex OAuth callback (OpenAI redirects browser directly to localhost:1455)
- "1455:1455"
volumes:
- .:/app
- presenton_root_node_modules:/app/node_modules
- presenton_document_extraction_liteparse:/app/document-extraction-liteparse
- ./app_data:/app_data
environment:
- PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium
- PRESENTON_HOST_HTTP_PORT=${PRESENTON_HOST_HTTP_PORT:-5000}
- START_OLLAMA=${START_OLLAMA:-false}
- MIGRATE_DATABASE_ON_STARTUP=true
- CAN_CHANGE_KEYS=${CAN_CHANGE_KEYS:-}
- LLM=${LLM:-}
- OPENAI_API_KEY=${OPENAI_API_KEY:-}
- OPENAI_MODEL=${OPENAI_MODEL:-}
- DEEPSEEK_API_KEY=${DEEPSEEK_API_KEY:-}
- DEEPSEEK_MODEL=${DEEPSEEK_MODEL:-}
- DEEPSEEK_BASE_URL=${DEEPSEEK_BASE_URL:-}
- GOOGLE_API_KEY=${GOOGLE_API_KEY:-}
- GOOGLE_MODEL=${GOOGLE_MODEL:-}
- VERTEX_API_KEY=${VERTEX_API_KEY:-}
- VERTEX_MODEL=${VERTEX_MODEL:-}
- VERTEX_PROJECT=${VERTEX_PROJECT:-}
- VERTEX_LOCATION=${VERTEX_LOCATION:-}
- VERTEX_BASE_URL=${VERTEX_BASE_URL:-}
- AZURE_OPENAI_API_KEY=${AZURE_OPENAI_API_KEY:-}
- AZURE_OPENAI_MODEL=${AZURE_OPENAI_MODEL:-}
- AZURE_OPENAI_ENDPOINT=${AZURE_OPENAI_ENDPOINT:-}
- AZURE_OPENAI_BASE_URL=${AZURE_OPENAI_BASE_URL:-}
- AZURE_OPENAI_API_VERSION=${AZURE_OPENAI_API_VERSION:-}
- AZURE_OPENAI_DEPLOYMENT=${AZURE_OPENAI_DEPLOYMENT:-}
- BEDROCK_REGION=${BEDROCK_REGION:-}
- BEDROCK_API_KEY=${BEDROCK_API_KEY:-}
- BEDROCK_AWS_ACCESS_KEY_ID=${BEDROCK_AWS_ACCESS_KEY_ID:-}
- BEDROCK_AWS_SECRET_ACCESS_KEY=${BEDROCK_AWS_SECRET_ACCESS_KEY:-}
- BEDROCK_AWS_SESSION_TOKEN=${BEDROCK_AWS_SESSION_TOKEN:-}
- BEDROCK_PROFILE_NAME=${BEDROCK_PROFILE_NAME:-}
- BEDROCK_MODEL=${BEDROCK_MODEL:-}
- OPENROUTER_API_KEY=${OPENROUTER_API_KEY:-}
- OPENROUTER_MODEL=${OPENROUTER_MODEL:-}
- OPENROUTER_BASE_URL=${OPENROUTER_BASE_URL:-}
- FIREWORKS_API_KEY=${FIREWORKS_API_KEY:-}
- FIREWORKS_MODEL=${FIREWORKS_MODEL:-}
- FIREWORKS_BASE_URL=${FIREWORKS_BASE_URL:-}
- TOGETHER_API_KEY=${TOGETHER_API_KEY:-}
- TOGETHER_MODEL=${TOGETHER_MODEL:-}
- TOGETHER_BASE_URL=${TOGETHER_BASE_URL:-}
- CEREBRAS_API_KEY=${CEREBRAS_API_KEY:-}
- CEREBRAS_MODEL=${CEREBRAS_MODEL:-}
- CEREBRAS_BASE_URL=${CEREBRAS_BASE_URL:-}
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY:-}
- ANTHROPIC_MODEL=${ANTHROPIC_MODEL:-}
- OLLAMA_URL=${OLLAMA_URL:-}
- OLLAMA_MODEL=${OLLAMA_MODEL:-}
- CUSTOM_LLM_URL=${CUSTOM_LLM_URL:-}
- CUSTOM_LLM_API_KEY=${CUSTOM_LLM_API_KEY:-}
- CUSTOM_MODEL=${CUSTOM_MODEL:-}
- LITELLM_BASE_URL=${LITELLM_BASE_URL:-}
- LITELLM_API_KEY=${LITELLM_API_KEY:-}
- LITELLM_MODEL=${LITELLM_MODEL:-}
- LMSTUDIO_BASE_URL=${LMSTUDIO_BASE_URL:-}
- LMSTUDIO_API_KEY=${LMSTUDIO_API_KEY:-}
- LMSTUDIO_MODEL=${LMSTUDIO_MODEL:-}
- CODEX_MODEL=${CODEX_MODEL:-}
- DISABLE_IMAGE_GENERATION=${DISABLE_IMAGE_GENERATION:-}
- IMAGE_PROVIDER=${IMAGE_PROVIDER:-}
- PEXELS_API_KEY=${PEXELS_API_KEY:-}
- PIXABAY_API_KEY=${PIXABAY_API_KEY:-}
- DALL_E_3_QUALITY=${DALL_E_3_QUALITY:-}
- GPT_IMAGE_1_5_QUALITY=${GPT_IMAGE_1_5_QUALITY:-}
- EXTENDED_REASONING=${EXTENDED_REASONING:-}
- DISABLE_THINKING=${DISABLE_THINKING:-}
- WEB_GROUNDING=${WEB_GROUNDING:-}
- WEB_SEARCH_PROVIDER=${WEB_SEARCH_PROVIDER:-}
- WEB_SEARCH_MAX_RESULTS=${WEB_SEARCH_MAX_RESULTS:-}
- SEARXNG_BASE_URL=${SEARXNG_BASE_URL:-}
- TAVILY_API_KEY=${TAVILY_API_KEY:-}
- EXA_API_KEY=${EXA_API_KEY:-}
- BRAVE_SEARCH_API_KEY=${BRAVE_SEARCH_API_KEY:-}
- SERPER_API_KEY=${SERPER_API_KEY:-}
- DATABASE_URL=${DATABASE_URL:-}
- DISABLE_ANONYMOUS_TRACKING=${DISABLE_ANONYMOUS_TRACKING:-}
- COMFYUI_URL=${COMFYUI_URL:-}
- COMFYUI_WORKFLOW=${COMFYUI_WORKFLOW:-}
- MEM0_LLM_MODEL=${MEM0_LLM_MODEL:-${OLLAMA_MODEL:-llama3.1:latest}}
- MEM0_LLM_API_KEY=${MEM0_LLM_API_KEY:-ollama}
- MEM0_LLM_BASE_URL=${MEM0_LLM_BASE_URL:-${OLLAMA_URL:-http://host.docker.internal:11434}}
- MEM0_ENABLED=${MEM0_ENABLED:-true}
- MEM0_DIR=${MEM0_DIR:-/app_data/mem0}
- MEM0_EMBEDDER_PROVIDER=${MEM0_EMBEDDER_PROVIDER:-fastembed}
- MEM0_EMBEDDER_MODEL=${MEM0_EMBEDDER_MODEL:-BAAI/bge-small-en-v1.5}
- MEM0_EMBEDDING_DIMS=${MEM0_EMBEDDING_DIMS:-384}
- MEM0_SPACY_MODEL=${MEM0_SPACY_MODEL:-en_core_web_sm}
- MEM0_REQUIRE_SPACY_MODEL=${MEM0_REQUIRE_SPACY_MODEL:-true}
- LITEPARSE_DPI=${LITEPARSE_DPI:-120}
- LITEPARSE_NUM_WORKERS=${LITEPARSE_NUM_WORKERS:-1}
- OPEN_WEBUI_IMAGE_URL=${OPEN_WEBUI_IMAGE_URL:-}
- OPEN_WEBUI_IMAGE_API_KEY=${OPEN_WEBUI_IMAGE_API_KEY:-}
- OPENAI_COMPAT_IMAGE_BASE_URL=${OPENAI_COMPAT_IMAGE_BASE_URL:-}
- OPENAI_COMPAT_IMAGE_API_KEY=${OPENAI_COMPAT_IMAGE_API_KEY:-}
- OPENAI_COMPAT_IMAGE_MODEL=${OPENAI_COMPAT_IMAGE_MODEL:-}
- AUTH_USERNAME=${AUTH_USERNAME:-}
- AUTH_PASSWORD=${AUTH_PASSWORD:-}
- AUTH_OVERRIDE_FROM_ENV=${AUTH_OVERRIDE_FROM_ENV:-}
- RESET_AUTH=${RESET_AUTH:-}
volumes:
presenton_root_node_modules:
presenton_document_extraction_liteparse: