Railway

Deploy Presenton

Turns a prompt or document into an editable PowerPoint presentation

Deploy Presenton

Just deployed

/app_data

/var/lib/postgresql/data

Presenton logo

Deploy and Host Presenton on Railway

Presenton is an open-source AI presentation generator that turns a prompt or an uploaded document into a slide deck you can edit in the browser and export as an editable PowerPoint or PDF file. It is the self-hosted answer to Gamma and Beautiful.ai: the same "describe it and get slides" workflow, except the decks stay on infrastructure you control and you bring your own model provider. Teams use it for pitch decks, business reviews and training material; developers drive it from their own apps and AI agents through its REST API and MCP server.

Self-host Presenton on Railway and this template gives you the whole product on the first deploy. Two services are provisioned: the application container — nginx in front of the Next.js editor, the FastAPI backend and the MCP endpoint — and managed PostgreSQL holding presentations, templates, accounts and API keys. A volume at /app_data keeps uploads, exports, images and fonts, so decks survive redeploys. Only the app has a public URL; the database stays private.

Diagram of the Presenton and Postgres services on Railway

Getting Started with Presenton on Railway

Open the deployed URL and sign in. This template creates the primary administrator on first boot from AUTH_USERNAME and AUTH_PASSWORD, so there is no open registration window and no default password to change. A four-step setup wizard follows: text provider, image provider, web search, finish. The text provider can be OpenAI, Anthropic, Google, Vertex AI, Azure OpenAI, Bedrock, OpenRouter, Fireworks, Together, Cerebras, LiteLLM, LM Studio or any OpenAI-compatible endpoint. Images and search can both be skipped.

You then land on the dashboard. Click Create new Presentation, type a topic in plain language, and Presenton drafts an outline you can rewrite, reorder or merge before committing. Pick one of the eight built-in designs and the slides are generated and rendered live. In the editor you can drag elements, add charts, tables and images, then hit Export for PPTX or PDF. A good first check: generate a short deck, reload the page and confirm the slides are still there — proof the database and volume both work.

Further accounts come from Admin → Users, each with a private workspace; Admin → API keys issues keys for the REST API and MCP endpoint.

Presenton dashboard listing a generated four-slide deck Presenton slide editor showing a generated rooftop solar deck Presenton settings screen choosing the text generation provider

About Hosting Presenton

Presentation AI is usually a subscription with your content on someone else's servers. Self-hosting puts the whole loop — prompt, outline, layout, render, export — inside your own perimeter, which matters when decks carry revenue numbers or unreleased plans. It also removes per-seat pricing: the only variable cost is model tokens.

Key capabilities:

  • Generate decks from a prompt or an uploaded PDF, DOCX or PPTX
  • Eight built-in designs, plus custom templates from your own .pptx
  • Truly editable PPTX export, not flat images, plus PDF
  • Bring your own key across a dozen providers, or run a local model
  • Charts, tables, icons and images with drag-and-drop editing
  • Multi-user workspaces with an admin panel
  • REST API and a built-in MCP server for agents

The container runs three processes behind nginx: the Next.js editor, the FastAPI backend that talks to your model provider, and the MCP server. PostgreSQL is the system of record for presentations, templates and accounts, which is what makes redeploys safe. The volume carries everything that is a file rather than a row, served behind an authentication check.

Why Deploy Presenton on Railway

Railway removes the infrastructure work around this multi-process container.

  • Managed PostgreSQL provisioned and wired in automatically
  • Persistent volume for uploads, exports and fonts
  • HTTPS and a public domain, no certificate management
  • Private networking between the app and its database
  • Health checks and one-click redeploys from the repository

Common Use Cases

  • Sales and founder teams drafting pitch decks and QBRs from an outline or a document, without sending content to a third party
  • Internal tooling generating a branded report deck on a schedule via the REST API
  • AI agents building presentations through the MCP endpoint mid-workflow
  • Agencies keeping a house design as a reusable template for client briefs

Dependencies for Presenton

  • Presenton — built from gridalpha/presenton-railway, a thin layer over the official ghcr.io/presenton/presenton:latest image that tunes nginx for a reverse-proxied environment. Apache-2.0.
  • PostgreSQL — Railway managed Postgres 18, holding presentations, templates, users, API keys and provider settings. Without it the app falls back to on-disk SQLite, which suits a laptop, not a deployed service.
  • Volume at /app_data — uploads, exports, images and fonts.
  • A model provider — yours, as an API key or local endpoint.

Environment Variables Reference

VariablePurpose
DATABASE_URLPostgreSQL connection string
AUTH_USERNAME / AUTH_PASSWORDPrimary administrator, created on first boot
PORTPort nginx listens on inside the container
MIGRATE_DATABASE_ON_STARTUPRun schema migrations at boot
LLMWhich text provider to use
OPENAI_API_KEY, ANTHROPIC_API_KEY, GOOGLE_API_KEYKeys for the matching LLM value
CUSTOM_LLM_URL / CUSTOM_LLM_API_KEY / CUSTOM_MODELAny OpenAI-compatible endpoint
IMAGE_PROVIDER, PEXELS_API_KEYSlide imagery

Deployment Dependencies

Hardware Requirements for Self-Hosting Presenton

The container bundles Chromium for PPTX and PDF export, the memory-hungry part.

ResourceMinimumRecommended
CPU2 vCPU4–8 vCPU
RAM2 GB4–8 GB
Storage5 GB volume20 GB+ volume
DatabasePostgreSQL 14+Railway managed Postgres 18

Running a local model in the same container raises those numbers substantially: budget gigabytes of RAM and disk for the weights alone.

Self-Hosting Presenton

The published image runs everything in one container. This starts it with a volume and an admin created on first boot:

docker run -d --name presenton \
  -p 5001:80 \
  -e AUTH_USERNAME=admin \
  -e AUTH_PASSWORD=choose-a-strong-password \
  -e DATABASE_URL=postgresql://user:pass@host:5432/presenton \
  -e MIGRATE_DATABASE_ON_STARTUP=true \
  -v ./app_data:/app_data \
  ghcr.io/presenton/presenton:latest

To build from source, clone the repository and use the bundled Compose file:

git clone https://github.com/presenton/presenton.git
cd presenton
echo "LLM=openai" > .env
echo "OPENAI_API_KEY=sk-your-key" >> .env
docker compose up production

Open http://localhost:5001 and the same setup wizard appears. Omit DATABASE_URL and Presenton writes to SQLite under the data directory.

Is Presenton Free to Self-Host?

Presenton is open source under Apache 2.0, with no seat limits, no feature gating and no licence key. A hosted Cloud and a paid Enterprise edition add SSO, SCIM and audit logs, but this template is the free, fully functional open-source build. On Railway you pay for compute, the database and the volume, plus your provider's per-token charge.

FAQ

What is Presenton? An open-source AI presentation generator and API. Give it a prompt or a document and it drafts an outline, then produces a designed deck you can edit and export as PPTX or PDF.

What does this Railway template deploy? The Presenton application container and a managed PostgreSQL database, with a volume at /app_data. The app gets a public HTTPS URL; the database stays private on Railway's network.

Do I need an API key to use it? You need a text-generation provider — OpenAI, Anthropic, Google, Bedrock, OpenRouter, LiteLLM, any OpenAI-compatible endpoint, or a local model. Choose one in the setup wizard, or set the variables before deploying.

Why does the template include PostgreSQL instead of SQLite? Presentations, templates, accounts and API keys have to outlive the container, and Railway recreates it on every deploy. SQLite suits a single-user desktop install, not a deployed service.

How do I generate presentations from my own code or an AI agent? Create a key under Admin → API keys and send it as a bearer token. It authenticates both the REST API and the MCP server at /mcp, so agent frameworks can call Presenton as a tool.

Which model should I choose for the best slides? A capable instruction-following chat model. Presenton asks for strictly structured JSON, so models that interleave visible reasoning into the reply — and very small local models — often return empty outlines. If an outline is blank, switch to a stronger model first.

Can I use my own PowerPoint design? Yes. Upload an existing .pptx and Presenton converts it into a reusable template, or build one with HTML and Tailwind CSS.


Template Content

More templates in this category

View Template
Chat Chat
Chat Chat, your own unified chat and search to AI platform.

okisdev
116
View Template
stella
Self-host stella with web, API, Postgres, Redis, and object storage.

Jan Kubica
3
View Template
Hermes Agent | OpenClaw Alternative with Dashboard
Self-Hosted Hermes AI Agent for Telegram, Discord & Slack

codestorm
62