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: