website/src/content/docs/self-hosting/render.mdx
**render.yaml**
```yaml
databases:
- name: rivet-db
plan: basic-256mb
databaseName: rivet
user: rivet
services:
- type: web
name: rivet-engine
runtime: docker
dockerfilePath: ./Dockerfile.render
plan: starter
healthCheckPath: /health
envVars:
- key: DATABASE_URL
fromDatabase:
name: rivet-db
property: connectionString
- key: RIVET__AUTH__ADMIN_TOKEN
generateValue: true
```
**Dockerfile.render**
```dockerfile
FROM rivetdev/engine:latest
COPY entrypoint.render.sh /entrypoint.render.sh
RUN chmod +x /entrypoint.render.sh
ENTRYPOINT ["/entrypoint.render.sh"]
```
**entrypoint.render.sh**
```bash
#!/bin/sh
if [ -n "$DATABASE_URL" ]; then
export RIVET__POSTGRES__URL="${DATABASE_URL}?sslmode=disable"
fi
exec /usr/bin/rivet-engine start
```
Commit and push these files to your repository.
Render will automatically create the PostgreSQL database and deploy the Rivet Engine.
```
https://rivet-engine-xxxx.onrender.com/ui/
```
Replace `rivet-engine-xxxx` with your actual service name from the Render Dashboard.
Enter the admin token from the previous step to log in.
To connect a RivetKit application to your self-hosted engine, set these environment variables in your app:
RIVET_ENDPOINT=https://<namespace>:<admin-token>@rivet-engine-xxxx.onrender.com
RIVET_PUBLIC_ENDPOINT=https://<namespace>@rivet-engine-xxxx.onrender.com
See the Connect guide for more details on connecting your application.