> ## 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.

# Self Host Presenton in Five Minutes

> Start a persistent Presenton instance with Docker and explore support for custom enterprise requirements.

This guide gets Presenton running locally with Docker, persistent storage, and a text provider. It also explains what the deployment includes and where to go for custom enterprise capabilities.

## Before you start

You need:

* [Docker](https://docs.docker.com/get-started/get-docker/)
* Credentials for a supported text provider, or a reachable local model
* Port `5001` available on your computer

<Note>
  Presenton Cloud needs no hosting setup. Use this guide only when you want to run Presenton in infrastructure you control.
</Note>

<Warning>
  Self-hosting the application does not make every workflow local. Configured hosted AI, image, or search providers receive the content sent to them. Choose local providers and disable external integrations when content must remain inside your network.
</Warning>

## 1. Start Presenton

<Tabs>
  <Tab title="Linux and macOS">
    ```bash theme={null}
    mkdir -p app_data

    docker run --detach --name presenton \
      --publish 5001:80 \
      --volume "./app_data:/app_data" \
      ghcr.io/presenton/presenton:v0.9.3-beta
    ```
  </Tab>

  <Tab title="Windows PowerShell">
    ```powershell theme={null}
    New-Item -ItemType Directory -Force app_data

    docker run --detach --name presenton `
      --publish 5001:80 `
      --volume "${PWD}\app_data:/app_data" `
      ghcr.io/presenton/presenton:v0.9.3-beta
    ```
  </Tab>
</Tabs>

The host folder is mounted at `/app_data` so presentations and settings survive container replacement.

## 2. Open Presenton

Visit [http://localhost:5001](http://localhost:5001). If the page does not load, check the container:

```bash theme={null}
docker ps --filter name=presenton
docker logs --tail 100 presenton
```

## 3. Connect a text provider

Follow the first-run Settings flow and choose a provider. For the shortest hosted-provider setup, enter an API key and supported model in the application.

To keep administrator-supplied credentials out of the UI, restart the container with environment variables instead:

```bash theme={null}
docker stop presenton
docker rm presenton

docker run --detach --name presenton \
  --publish 5001:80 \
  --env LLM=openai \
  --env OPENAI_API_KEY="YOUR_API_KEY" \
  --env OPENAI_MODEL=gpt-4.1 \
  --env CAN_CHANGE_KEYS=false \
  --volume "./app_data:/app_data" \
  ghcr.io/presenton/presenton:v0.9.3-beta
```

<Warning>
  Do not paste real keys into source files or commit a `.env` file. Use your deployment platform's secret manager for a remote instance.
</Warning>

## 4. Generate and persist a test deck

Create a short two- or three-slide presentation. Restart the container with `docker restart presenton`, reopen the dashboard, and confirm the deck remains available.

<Check>
  The application loads, a text provider generates a deck, export completes, and the deck remains after restart.
</Check>

## What you are self-hosting

The container runs the Presenton web application, REST API, and MCP server. A self-hosted deployment includes:

* Browser-based presentation generation, editing, templates, and export
* Persistent presentations, uploads, generated assets, settings, and local memory under `/app_data`
* Configurable text, image, search, and database providers
* Multi-user authentication with private workspaces and administrator-managed access
* A built-in MCP endpoint for compatible clients
* Docker and GPU-capable Compose services

## Why self-host

<CardGroup cols={2}>
  <Card title="Control deployment and data" icon="database">
    Choose the network, persistent storage, database, backup policy, and geographic location.
  </Card>

  <Card title="Bring your own providers" icon="microchip">
    Combine hosted or local text, image, and search providers without coupling them to one vendor.
  </Card>

  <Card title="Automate presentations" icon="brackets-curly">
    Use the built-in REST API and remote HTTP MCP server from your own tools.
  </Card>

  <Card title="Customize the source" icon="code">
    Inspect and modify the Apache-2.0-licensed application for your environment.
  </Card>
</CardGroup>

## Enterprise support

<CardGroup cols={2}>
  <Card title="Role-based access control" icon="users-gear">
    Scope custom roles and permissions for teams with different responsibilities.
  </Card>

  <Card title="OAuth and SSO" icon="key">
    Discuss OAuth, OpenID Connect, and identity-provider integration for your organization.
  </Card>

  <Card title="Custom deployment" icon="building-shield">
    Plan private, on-premise, air-gapped, or hybrid deployments around your requirements.
  </Card>

  <Card title="Custom integrations" icon="puzzle-piece">
    Connect Presenton to internal systems, workflows, templates, and data sources.
  </Card>
</CardGroup>

Need capabilities beyond the open-source self-hosted deployment? [Contact the Presenton enterprise team](https://presenton.ai/contact-sales) to discuss RBAC, OAuth and SSO, custom integrations, deployment assistance, onboarding, and support.

<Card title="Explore enterprise support" icon="building" href="/hosting/enterprise">
  Review common enterprise requirements and contact the team to scope a solution.
</Card>
