Skip to main content
Use this page when you know what you want Presenton to do but do not yet know which settings make it happen.

Quick decision table

Use an existing ChatGPT or Codex subscription

Choose the Codex provider when you want to sign in with a free or paid ChatGPT account instead of supplying an OpenAI API key. The OAuth redirect is fixed to:
Therefore Docker must publish both ports:
  • 5001:80 for the Presenton browser application.
  • 1455:1455 for the ChatGPT/Codex OAuth callback.
Then open Presenton, go to the text-provider settings, select Sign in with ChatGPT, complete authentication in the browser, and choose a supported Codex model.
If 1455:1455 is missing, the OpenAI sign-in page may open, but the redirect cannot reach the callback server inside the container. This port is not needed for normal API-key providers.
The current v0.9.0-beta application accepts gpt-5.5, gpt-5.4, gpt-5.4-mini, and gpt-5.3-codex-spark as Codex model identifiers. Availability can still depend on the signed-in account.

Docker Compose

The repository’s production, production-gpu, development, and development-gpu services already map 1455:1455.

Remote Docker host

Because the browser redirect targets localhost:1455, localhost means the machine running the browser. When Presenton runs on another host, use an approved network arrangement that makes both Presenton and the callback available locally. For an SSH-accessible server, one option is local port forwarding:
While the tunnel is active, open http://localhost:5001 and complete the ChatGPT sign-in from that browser session.
Port 1455 is for Codex OAuth, not MCP. MCP uses the normal Presenton web port and /mcp path.

Use OpenAI with an API key

This path uses API billing and does not require port 1455.
CAN_CHANGE_KEYS=false hides and locks provider credentials in the UI. Leave it true or unset for a personal instance where settings should remain editable.

Use Google for text and images

One Google API key can supply the Gemini text and image modes:
Use LLM=vertex and the Vertex-specific authentication settings when you need Google Cloud project controls instead of the direct Gemini API.

Run text generation locally with Ollama

Run Ollama on the Docker host, pull the model there, and point Presenton at the host gateway:
START_OLLAMA=false means Presenton does not start its own Ollama service. If host.docker.internal is unavailable on your Linux Docker setup, provide an equivalent reachable host gateway or run both services on the same Docker network. To avoid sending image prompts to an external provider:
For a more complete local visual workflow, configure ComfyUI instead of disabling images.

Use local text with stock images

Text and images do not need to use the same provider:
This keeps text generation local while sending image searches to Pexels.

Enable current-information web research

For supported OpenAI, Google, and Anthropic configurations, auto uses the provider’s native search behavior:
For other text providers, choose an external search provider explicitly:
Set WEB_GROUNDING=false when current public information is unnecessary or external research is not allowed.

Enable the REST API and MCP

Both interfaces use the normal web port. Configure the admin account first:
  • REST API: http://localhost:5001/api/v1, authenticated with HTTP Basic.
  • MCP: http://localhost:5001/mcp, authenticated with a bearer token returned by /api/v1/auth/login.
No additional MCP port is required. The Electron desktop app does not expose MCP.

Generate with the API

Upload documents and generate PPTX or PDF output over REST.

Connect MCP

Request a bearer token and configure local or remote clients.

Improve document extraction

LiteParse defaults are suitable for most documents:
Increase LITEPARSE_DPI when scanned or image-heavy documents need clearer OCR. Increase workers only when the host has enough CPU and memory for concurrent parsing.

Use an external database

Without DATABASE_URL, Presenton uses SQLite under /app_data. For an external database:
The database hostname must be reachable from the container. Continue mounting /app_data; presentations, uploads, templates, exports, authentication state, and memory are not all replaced by the external database.

Apply configuration changes

Environment changes require a container restart or recreation:
After every provider or networking change, generate a short test presentation and verify the browser, API, export, and MCP paths that your deployment intends to support.