---
title: "Deploy Presentation AI"
description: "AI presentation generator Gamma Alternative"
category: "Other"
url: https://railway.com/deploy/presentationai
---

# Deploy Presentation AI

AI presentation generator Gamma Alternative

**[Deploy Presentation AI on Railway](https://railway.com/template/presentationai)**

- **Creator:** Muhammad Bilal
- **Category:** Other

## Template content

### Postgres https://devicons.railway.app/i/postgresql.svg

- **Image:** ghcr.io/railwayapp-templates/postgres-ssl:18

### presentation-ai

- **Source:** bilalnawaz072/presentation-ai
- **Public domain:** Yes

## Documentation

# Deploy and Host Presentation AI on Railway

## About Hosting Presentation AI

Presentation AI is an open-source, AI-powered alternative to Gamma for creating professional slides. It features an outline-first workflow, real-time slide generation, customizable built-in themes, rich text editing via Plate Editor, and presentation recording. It is designed for creators, educators, and teams looking to automate slide creation efficiently.

## Common Use Cases

* **AI Assistants & Content Creators**: Generate complete, structured presentation decks automatically from simple text prompts.
* **Internal Tools & Business Dashboards**: Create reusable branded slide templates and present directly within organizations.
* **Developer Tools & Education**: Customize an open-source presentation engine using custom themes, local LLM integrations, and rich text modules.

## Dependencies for Presentation AI Hosting

| Dependency | Purpose |
| --- | --- |
| PostgreSQL | Database storage for application data, themes, users, and slide content |
| OpenAI API | Cloud text model provider for generating slide outlines and slide content |
| Together AI API | Cloud model provider for generating presentation images |
| UploadThing Token | Service for handling media file uploads |
| Unsplash Access Key | Provider for sourcing stock presentation images |
| Tavily API | Web search integration for retrieving real-time external context |

### Deployment Dependencies

* [GitHub Repository](https://github.com/bilalnawaz072/presentation-ai)

### Implementation Details

## Docker

Railway automatically builds and deploys the application directly from the source code repository.

## Public Networking

| Proxy Type | Target Port |
| --- | --- |
| HTTP Proxy | 3000 |

## Environment Variables

| Variable | Required | Description |
| --- | --- | --- |
| `DATABASE_URL` | Yes | PostgreSQL connection string format (`postgresql://user:password@host:port/dbname`). |
| `NEXTAUTH_SECRET` | Yes | Secret key used for authenticating session tokens. |
| `NEXTAUTH_URL` | Yes | Canonical base URL of the deployed application. |
| `OPENAI_API_KEY` | No | API key for OpenAI text generation models. Optional if using local models. |
| `TOGETHER_AI_API_KEY` | No | API key for Together AI image generation models. |
| `UPLOADTHING_TOKEN` | No | Access token for UploadThing file upload service. |
| `UNSPLASH_ACCESS_KEY` | No | API key for Unsplash stock image integration. |
| `TAVILY_API_KEY` | No | API key for Tavily web search integration. |

```env
DATABASE_URL=postgresql://postgres:postgres@localhost:5432/presentation_ai
NEXTAUTH_SECRET=development_secret_key_123456789_presentation_ai
NEXTAUTH_URL=http://localhost:8080
OPENAI_API_KEY=
TOGETHER_AI_API_KEY=
UPLOADTHING_TOKEN=
UNSPLASH_ACCESS_KEY=
TAVILY_API_KEY=

```

API keys for external services can be obtained directly from their respective developer dashboards:

* OpenAI API key from the OpenAI Platform dashboard.
* Together AI API key from the Together AI console.
* UploadThing token from the UploadThing developer portal.
* Unsplash access key from the Unsplash Developer dashboard.
* Tavily API key from the Tavily AI portal.

## Persistent Storage

Persistent storage is optional. The application relies on external integrations like UploadThing for handling media assets and cloud storage.

## Database

A PostgreSQL database service is required.

* Add a PostgreSQL database service in your Railway project canvas.
* Connect the database service to the application using Railway reference variables (e.g., `${{Postgres.DATABASE_URL}}`).
* Ensure `DATABASE_URL` is configured in the environment variables table.

## Build & Start

No custom build or start commands are required.

## Accessing the Application

1. Open Railway Service Settings.
2. Under Networking, click **Generate Domain** to assign a public access URL.
3. Open the generated access URL in your browser.
4. Sign in to the application to set up your account and begin generating presentations.

## Why Deploy Presentation AI on Railway?

Railway provides a modern, developer-friendly platform for hosting web applications and databases. With features like instant deployments from GitHub, automatic HTTPS, built-in environment variable management, and seamless scaling, Railway minimizes infrastructure overhead so you can focus on building your application.

## Similar templates

- [Rocky Linux](https://railway.com/deploy/rocky-linux) — [Jul'26] Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀
- [Foundry Virtual Tabletop](https://railway.com/deploy/X5tR6G) — A Self-Hosted & Modern Roleplaying Platform
- [Letta Code Remote](https://railway.com/deploy/letta-code-remote) — Run a Letta Code agent 24/7. No inbound ports, just deploy.

Open this page in a browser: https://railway.com/deploy/presentationai
