> ## Documentation Index
> Fetch the complete documentation index at: https://docs.presenton.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Deployment options

> Choose Docker, Compose, desktop, GPU, or a cloud platform and plan persistence and networking.

Presenton can run as a personal desktop application, a browser-based Docker service, or an authenticated API and MCP service for a team.

## Compare the options

| Option                   | Best for                                  | API and MCP     | Operational responsibility                               |
| ------------------------ | ----------------------------------------- | --------------- | -------------------------------------------------------- |
| Docker Run               | A quick self-hosted instance              | Available       | Container, storage, upgrades, and TLS                    |
| Docker Compose           | Repeatable servers and source development | Available       | Compose configuration, storage, upgrades, and TLS        |
| Desktop app              | A native personal workflow                | MCP unavailable | Desktop updates and local provider setup                 |
| GPU Docker               | Local AI workloads on NVIDIA hardware     | Available       | GPU drivers, toolkit, runtime, and storage               |
| Cloud container platform | Shared access and automation              | Available       | HTTPS, secrets, persistent disk, backups, and monitoring |

## Container contract

Every container deployment should preserve these invariants:

* Publish container port `80`; the recommended host port is `5001`.
* Publish `1455:1455` as well when users will authenticate through **Sign in with ChatGPT**.
* Mount persistent storage at `/app_data`.
* Store credentials in environment variables or a secret manager.
* Configure HTTPS before serving remote users.
* Keep the API and MCP endpoint behind Presenton authentication and network controls.

```bash theme={null}
docker run -it --name presenton \
  --publish 5001:80 \
  --volume "./app_data:/app_data" \
  ghcr.io/presenton/presenton:v0.9.0-beta
```

## Docker Compose profiles

The source repository defines `production`, `production-gpu`, `development`, and `development-gpu` services. Put environment variables in `.env` beside `docker-compose.yml`.

```bash theme={null}
docker compose up --detach production
```

Set another host port with:

```bash theme={null}
PRESENTON_HTTP_HOST_PORT=8080 docker compose up production
```

Port `1455` is also mapped by the repository's Compose configuration for the Codex OAuth callback. It is required for users who want to use an eligible existing ChatGPT/Codex subscription without an OpenAI API key. It is not the Presenton web or MCP port.

## Desktop deployment

The Electron application packages the interface and backend for macOS, Windows, and Linux. It accepts the same provider concepts, but it is designed for local interactive use: the MCP server is disabled and authentication is disabled by default to avoid conflicts with the desktop runtime.

<Card title="Install the desktop app" icon="display" href="/open-source/v0.9.0-beta/tutorials/install-desktop-app">
  Choose the correct installer for macOS, Windows, or Linux.
</Card>

## GPU deployment

Install the NVIDIA Container Toolkit and use `--gpus=all` or the `production-gpu` Compose service. Verify GPU access independently before troubleshooting Presenton.

```bash theme={null}
docker compose up production-gpu
```

GPU access is primarily useful when a compatible local runtime performs model or image work. Hosted providers execute in the provider's infrastructure.

## Deploy in your cloud account

The project README provides quick-deploy paths for Railway and DigitalOcean. The same container can run on other VM or container platforms when the platform supports a persistent disk and port mapping.

For any platform:

1. Deploy `ghcr.io/presenton/presenton:v0.9.0-beta` or an intentionally selected image digest.
2. Route HTTPS traffic to container port `80`.
3. Mount a persistent disk at `/app_data`.
4. Supply provider and authentication settings through platform secrets.
5. Configure health monitoring and container restart behavior.
6. Back up the disk and any external database.
7. Test UI, API, export, and MCP workflows after each upgrade.

## Local is not automatically offline

Running Presenton locally does not prevent data from reaching configured hosted text, image, or search providers. For local-first processing:

* Use Ollama or LM Studio for text.
* Use ComfyUI for generated images, or disable image generation.
* Use SearXNG for self-hosted search, or disable web grounding.
* Review presentation memory and telemetry settings.

<CardGroup cols={2}>
  <Card title="Installation guide" icon="download" href="/open-source/v0.9.0-beta/quickstart">
    Follow complete Docker, Compose, desktop, and GPU installation paths.
  </Card>

  <Card title="Configuration overview" icon="sliders" href="/open-source/v0.9.0-beta/configuration">
    Configure providers, authentication, storage, search, and processing.
  </Card>
</CardGroup>
