Run Sim on your own infrastructure with Docker Compose or Kubernetes. Both run the same app, realtime service, database migrations, and background job endpoints.
Choose a deployment
Compose bundles PostgreSQL, Redis, and a scheduler. The Helm chart bundles PostgreSQL and Redis and enables scheduled jobs by default. Kubernetes also exposes replica, autoscaling, disruption-budget, secret-store, and network-policy settings; configure these for your cluster before relying on high availability. See Reference architectures.
Quick start
Install Bun, Node.js 20 or newer, Docker, and Docker Compose 2.24.0 or later, then run:
The wizard creates a ./sim directory with a production Compose file and generated .env, including POSTGRES_PASSWORD. It starts published container images. Open http://localhost:3000.
See Docker for runtime prerequisites, manual setup, and production configuration. For a cluster, use Kubernetes.
Requirements
Use these as starting resource examples, then size the deployment for concurrent executions, file processing, vector queries, and database growth. User counts alone do not predict capacity.
These are sizing suggestions, not enforced minimums or capacity guarantees. The Helm chart requests 4 GiB and limits the app to 8 GiB by default. Production Compose sets an 8G app memory limit with no reservation. Memory-intensive executions and parsing can require more; see Scaling.
Before production use
- Set your public origin and route
/socket.ioto the realtime service. Configure TLS before remote sign-in. - Retain and back up
ENCRYPTION_KEYandAPI_ENCRYPTION_KEYwith the database. Generate keys only for a new installation. - Configure durable object storage or a persistent local-storage layout. The production Compose file does not mount the app's upload directory.
- Configure email for invitations, verification, and password resets.
- Verify background jobs, including the scheduler's
CRON_SECRET.
Run Verify your install before opening the deployment to your team and after upgrades or restores.
External dependencies
The editor and execution engine run within your deployment. Configure these dependencies for the features you use:
Plain JavaScript without import or require runs in isolated-vm within Node child workers in the app container. Python, Shell, imported JavaScript, custom Function Sandboxes, and file-path or sandbox execution require remote sandbox configuration. See Sandboxes.
Enterprise features
In a standard billing-disabled self-hosted deployment, enterprise features are enabled through configuration:
Organizations, SSO, permission groups, audit logs, whitelabeling, session policies, retention, and data drains also need their feature-specific configuration. Most read settings from the organization that owns a workspace. Enabling the suite can enable retention processing; review the configured policy before turning it on.
See Self-hosted enterprise features for organization setup, per-feature flags, and billing-enabled differences.