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

# Deploy the LLM Gateway on Render

> Deploy the Manifest LLM Gateway with a repository Blueprint, a web service, and Render PostgreSQL.

<Card title="Open Render deploy" icon="external-link" href="https://render.com/deploy?repo=https://github.com/mnfst/llm-gateway">
  Blueprint-based deploy using the public Docker image, generated secrets, and
  Render PostgreSQL.
</Card>

## Overview

Render can deploy the gateway from the repository Blueprint. The Blueprint creates a web service from the public Manifest Docker image and a Render PostgreSQL database, then wires the runtime environment variables.

## Prerequisites

* A Render account.
* Permission to create web services and PostgreSQL databases.
* Billing enabled if you select paid plans or outgrow free resources.

## Deploy

1. Open the [Render deploy link](https://render.com/deploy?repo=https://github.com/mnfst/llm-gateway).
2. Review the Blueprint resources.
3. Choose the region and plans that fit your deployment.
4. Deploy the Blueprint.
5. Wait for the web service and PostgreSQL database to finish provisioning.

The repository `render.yaml` sets:

* `PORT=2099`.
* `DATABASE_URL` from Render PostgreSQL.
* Generated `BETTER_AUTH_SECRET`.
* Generated `MANIFEST_ENCRYPTION_KEY`.
* `BETTER_AUTH_URL` from the Render external service URL.
* `MANIFEST_MODE=selfhosted`.

## Open the gateway

Open the Render service URL and create the first account. Fresh installs redirect to `/setup`; the first account you create becomes the admin.

Verify the deployment:

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl -fsS https://<your-render-service>.onrender.com/api/v1/health
```

## Notes

* Render PostgreSQL connection strings are wired by the Blueprint.
* Use a custom domain before configuring production OAuth callbacks.
* The Blueprint mounts a 1 GB persistent disk `manifest-recordings` at `/data/request-recordings` and sets `REQUEST_RECORDING_STORAGE=filesystem`, so [request logs](/llm-gateway/docs/llm-gateway/docs/request-logs) survive redeploys. This disk is single-instance. Point recording at S3-compatible storage before you scale to more than one instance.

Relevant Render docs:

* [Blueprints](https://render.com/docs/blueprint-spec)
* [PostgreSQL on Render](https://render.com/docs/databases)
