---
title: "Deploy banana-slides"
description: "AI-native slide generation with templates, editing, and PPTX export"
category: "AI/ML"
url: https://railway.com/deploy/banana-slides
---

# Deploy banana-slides

AI-native slide generation with templates, editing, and PPTX export

**[Deploy banana-slides on Railway](https://railway.com/template/banana-slides)**

- **Creator:** kmaki's Projects
- **Category:** AI/ML

## Template content

### app

- **Image:** xiaosong233/banana-slides-railway:v0.9.0
- **Start command:** `sh -c 'rm -f /etc/nginx/sites-enabled/default && exec /usr/bin/supervisord -c /app/docker/supervisord.conf'`
- **Public domain:** Yes

## Documentation

# Deploy and Host Banana Slides on Railway

## About Hosting Banana Slides on Railway
Banana Slides runs as a single all-in-one Docker service on Railway, combining its React web interface, Nginx gateway, and Flask API behind one public domain.

## Tech Stack
- React and TypeScript frontend
- Flask and Python backend
- Nginx reverse proxy
- SQLite project database
- FFmpeg-powered media export
- Google Gemini API

## Why Deploy Banana Slides on Railway
Railway provides one-click Docker deployment, automatic HTTPS, managed environment variables, health visibility, and persistent storage without maintaining a server.

## Common Use Cases
Generate presentation drafts from ideas or outlines, turn documents and images into slides, apply custom visual templates, refine slides conversationally, and export PPTX, PDF, or narrated video.

## Deployment Notes
The HTTP service listens on port 80. Replace the generated `GOOGLE_API_KEY` with a valid Gemini API key before generating content. `ACCESS_CODE` protects the web UI. The volume preserves the SQLite database and project state at `/app/backend/instance`; uploaded source files under `/app/uploads` remain ephemeral because Railway supports one direct volume mount per service. The startup command removes Debian’s restored default Nginx site so UI and API traffic reach Banana Slides.

## Dependencies for Banana Slides on Railway
Banana Slides is self-contained in one Docker image and uses an external Google Gemini API. No database service is required because SQLite is stored on the attached Railway volume.

### Deployment Dependencies

| Service | Image | Port | Volume |
|---------|-------|------|--------|
| app | xiaosong233/banana-slides-railway:v0.9.0 | 80 | /app/backend/instance |

## Similar templates

- [Chat Chat](https://railway.com/deploy/-WWW5r) — Chat Chat, your own unified chat and search to AI platform.
- [stella](https://railway.com/deploy/stella) — Self-host stella with web, API, Postgres, Redis, and object storage.
- [Hermes Agent | OpenClaw Alternative with Dashboard](https://railway.com/deploy/hermes-agent-or-openclaw-alternative-wit) — Self-Hosted Hermes AI Agent for Telegram, Discord & Slack

Open this page in a browser: https://railway.com/deploy/banana-slides
