Skip to content

Commit 415e9b2

Browse files
committed
docs(self-hosting): normalize line endings to LF and drop stray trailing space
1 parent a6fb74f commit 415e9b2

1 file changed

Lines changed: 56 additions & 56 deletions

File tree

Lines changed: 56 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -1,56 +1,56 @@
1-
---
2-
title: Cloud Platforms
3-
description: Provider-specific notes for running Sim on Railway, a VPS, or managed Kubernetes
4-
---
5-
6-
import { Tab, Tabs } from 'fumadocs-ui/components/tabs'
7-
import { Callout } from 'fumadocs-ui/components/callout'
8-
9-
This page covers what differs per provider. The deployment itself is the same everywhere — follow [Docker](/platform/self-hosting/docker) for a single node or [Kubernetes](/platform/self-hosting/kubernetes) for a cluster.
10-
11-
## Railway
12-
13-
One-click deployment with automatic PostgreSQL provisioning.
14-
15-
[![Deploy on Railway](https://railway.app/button.svg)](https://railway.com/new/template/sim-studio)
16-
17-
After deployment, set in the Railway dashboard:
18-
19-
- `BETTER_AUTH_SECRET`, `ENCRYPTION_KEY`, `INTERNAL_API_SECRET` (auto-generated by the template)
20-
- An AI provider key such as `OPENAI_API_KEY`
21-
- Your custom domain under **Settings → Networking**, then `NEXT_PUBLIC_APP_URL` to match
22-
23-
<Callout type="warn">
24-
The template auto-generates `ENCRYPTION_KEY` as a URL-safe secret, but Sim requires a 64-character hex string. If saving Workspace Secrets fails with `ENCRYPTION_KEY must be set to a 64-character hex string` (HTTP 500), regenerate it with `openssl rand -hex 32` and update the variable in the Railway dashboard.
25-
</Callout>
26-
27-
<Callout type="warn">
28-
The Railway template deploys the app services but not the `cron` service, so scheduled workflows and polling triggers stay idle. Add a Railway cron service calling the endpoints in [Background Jobs](/platform/self-hosting/background-jobs), or deploy with Docker Compose instead.
29-
</Callout>
30-
31-
## VPS
32-
33-
DigitalOcean, EC2, Azure VM, Hetzner, or any Linux box. Size it from the [requirements table](/platform/self-hosting) — 16 GB RAM is the practical floor for a team install, because memory rather than CPU is what bounds concurrent workflow executions.
34-
35-
Install Docker via [get.docker.com](https://get.docker.com), then follow the [Docker guide](/platform/self-hosting/docker), which covers secrets, the compose stack, and TLS.
36-
37-
## Managed Kubernetes
38-
39-
EKS, AKS, and GKE each have a tuned example values file in the chart. See [Kubernetes](/platform/self-hosting/kubernetes) for the install and [Networking](/platform/self-hosting/networking) for the load-balancer specifics — notably GKE's 30-second websocket timeout and its `ManagedCertificate` requirement.
40-
41-
## Managed PostgreSQL
42-
43-
Recommended for any production deployment. The requirement is **pgvector**.
44-
45-
| Service | Notes |
46-
|---|---|
47-
| AWS RDS / Aurora | Enable the `vector` extension |
48-
| GCP Cloud SQL | Enable the `vector` extension |
49-
| Azure Database for PostgreSQL | Enable the `vector` extension |
50-
| Supabase / Neon | pgvector available by default |
51-
52-
```bash
53-
DATABASE_URL="postgresql://user:pass@host:5432/simstudio?sslmode=require"
54-
```
55-
56-
For the Helm chart, disable the bundled Postgres and use `externalDatabase` — see [Kubernetes](/platform/self-hosting/kubernetes#external-database).
1+
---
2+
title: Cloud Platforms
3+
description: Provider-specific notes for running Sim on Railway, a VPS, or managed Kubernetes
4+
---
5+
6+
import { Tab, Tabs } from 'fumadocs-ui/components/tabs'
7+
import { Callout } from 'fumadocs-ui/components/callout'
8+
9+
This page covers what differs per provider. The deployment itself is the same everywhere — follow [Docker](/platform/self-hosting/docker) for a single node or [Kubernetes](/platform/self-hosting/kubernetes) for a cluster.
10+
11+
## Railway
12+
13+
One-click deployment with automatic PostgreSQL provisioning.
14+
15+
[![Deploy on Railway](https://railway.app/button.svg)](https://railway.com/new/template/sim-studio)
16+
17+
After deployment, set in the Railway dashboard:
18+
19+
- `BETTER_AUTH_SECRET`, `ENCRYPTION_KEY`, `INTERNAL_API_SECRET` (auto-generated by the template)
20+
- An AI provider key such as `OPENAI_API_KEY`
21+
- Your custom domain under **Settings → Networking**, then `NEXT_PUBLIC_APP_URL` to match
22+
23+
<Callout type="warn">
24+
The template auto-generates `ENCRYPTION_KEY` as a URL-safe secret, but Sim requires a 64-character hex string. If saving Workspace Secrets fails with `ENCRYPTION_KEY must be set to a 64-character hex string` (HTTP 500), regenerate it with `openssl rand -hex 32` and update the variable in the Railway dashboard.
25+
</Callout>
26+
27+
<Callout type="warn">
28+
The Railway template deploys the app services but not the `cron` service, so scheduled workflows and polling triggers stay idle. Add a Railway cron service calling the endpoints in [Background Jobs](/platform/self-hosting/background-jobs), or deploy with Docker Compose instead.
29+
</Callout>
30+
31+
## VPS
32+
33+
DigitalOcean, EC2, Azure VM, Hetzner, or any Linux box. Size it from the [requirements table](/platform/self-hosting) — 16 GB RAM is the practical floor for a team install, because memory rather than CPU is what bounds concurrent workflow executions.
34+
35+
Install Docker via [get.docker.com](https://get.docker.com), then follow the [Docker guide](/platform/self-hosting/docker), which covers secrets, the compose stack, and TLS.
36+
37+
## Managed Kubernetes
38+
39+
EKS, AKS, and GKE each have a tuned example values file in the chart. See [Kubernetes](/platform/self-hosting/kubernetes) for the install and [Networking](/platform/self-hosting/networking) for the load-balancer specifics — notably GKE's 30-second websocket timeout and its `ManagedCertificate` requirement.
40+
41+
## Managed PostgreSQL
42+
43+
Recommended for any production deployment. The requirement is **pgvector**.
44+
45+
| Service | Notes |
46+
|---|---|
47+
| AWS RDS / Aurora | Enable the `vector` extension |
48+
| GCP Cloud SQL | Enable the `vector` extension |
49+
| Azure Database for PostgreSQL | Enable the `vector` extension |
50+
| Supabase / Neon | pgvector available by default |
51+
52+
```bash
53+
DATABASE_URL="postgresql://user:pass@host:5432/simstudio?sslmode=require"
54+
```
55+
56+
For the Helm chart, disable the bundled Postgres and use `externalDatabase` — see [Kubernetes](/platform/self-hosting/kubernetes#external-database).

0 commit comments

Comments
 (0)