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:5001:80for the Presenton browser application.1455:1455for the ChatGPT/Codex OAuth callback.
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’sproduction, production-gpu, development, and development-gpu services already map 1455:1455.
Remote Docker host
Because the browser redirect targetslocalhost: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:
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 port1455.
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: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:
Use local text with stock images
Text and images do not need to use the same provider:Enable current-information web research
For supported OpenAI, Google, and Anthropic configurations,auto uses the provider’s native search behavior:
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.
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: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
WithoutDATABASE_URL, Presenton uses SQLite under /app_data. For an external database:
/app_data; presentations, uploads, templates, exports, authentication state, and memory are not all replaced by the external database.