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

# One-click cloud deployment

> Deploy Presenton to Railway or DigitalOcean and finish the required production configuration.

One-click templates are the fastest route to a remotely accessible instance. The platform runs the container, but you still own credentials, persistent storage, HTTPS exposure, backups, and upgrades.

<CardGroup cols={2}>
  <Card title="Deploy to Railway" icon="train" href="https://railway.com/deploy/presenton-ai-presentations">
    Create a service from the maintained Railway template.
  </Card>

  <Card title="Deploy to DigitalOcean" icon="digital-ocean" href="https://cloud.digitalocean.com/apps/new?repo=https://github.com/presenton/presenton/tree/main">
    Create an App Platform deployment from the Presenton repository.
  </Card>
</CardGroup>

## Before deploying

* Choose a region allowed by your data-handling requirements.
* Prepare credentials for one text provider and, optionally, an image or search provider.
* Decide whether the service will be private or internet-facing.
* Plan a persistent disk mounted at `/app_data`.

## Required platform configuration

1. Route the platform's HTTPS endpoint to container port `80`.
2. Mount durable storage at `/app_data`; ephemeral storage loses application data during replacement or redeployment.
3. Store provider keys and `AUTH_PASSWORD` in the platform's secret manager.
4. Set `AUTH_USERNAME`, `AUTH_PASSWORD`, and `CAN_CHANGE_KEYS=false` before sharing the URL.
5. Configure restart behavior and monitor available disk space.

<Warning>
  A successful deployment without a persistent `/app_data` disk is not production-ready. Test persistence by creating a presentation, restarting or redeploying the service, and confirming that it remains available.
</Warning>

## Verify the deployment

* Open the generated HTTPS URL and sign in.
* Generate and export a short presentation.
* Confirm the selected provider can be reached from the platform.
* Test the REST API and `/mcp` only if they will be used.
* Create a backup and perform a test restore before storing important content.

For another container platform, apply the same contract: container port `80`, durable `/app_data`, protected secrets, authentication, HTTPS, monitoring, and backups.
