feat: add Sim Studio template

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Mauricio Siu
2026-07-14 12:41:18 -06:00
parent 17efd705a4
commit d1ef9333a3
4 changed files with 122 additions and 0 deletions

View File

@@ -0,0 +1,76 @@
services:
simstudio:
image: ghcr.io/simstudioai/simstudio:latest
restart: unless-stopped
environment:
- NODE_ENV=production
- DATABASE_URL=postgresql://postgres:${POSTGRES_PASSWORD}@db:5432/simstudio
- BETTER_AUTH_URL=${SIM_APP_URL}
- NEXT_PUBLIC_APP_URL=${SIM_APP_URL}
- BETTER_AUTH_SECRET=${BETTER_AUTH_SECRET}
- ENCRYPTION_KEY=${ENCRYPTION_KEY}
- API_ENCRYPTION_KEY=${API_ENCRYPTION_KEY}
- INTERNAL_API_SECRET=${INTERNAL_API_SECRET}
- SOCKET_SERVER_URL=http://realtime:3002
depends_on:
db:
condition: service_healthy
migrations:
condition: service_completed_successfully
realtime:
condition: service_healthy
healthcheck:
test: ["CMD", "curl", "-fsS", "http://127.0.0.1:3000"]
interval: 30s
timeout: 5s
retries: 5
start_period: 30s
realtime:
image: ghcr.io/simstudioai/realtime:latest
restart: unless-stopped
environment:
- NODE_ENV=production
- DATABASE_URL=postgresql://postgres:${POSTGRES_PASSWORD}@db:5432/simstudio
- NEXT_PUBLIC_APP_URL=${SIM_APP_URL}
- BETTER_AUTH_URL=${SIM_APP_URL}
- BETTER_AUTH_SECRET=${BETTER_AUTH_SECRET}
- INTERNAL_API_SECRET=${INTERNAL_API_SECRET}
depends_on:
db:
condition: service_healthy
healthcheck:
test: ["CMD", "curl", "-fsS", "http://127.0.0.1:3002/health"]
interval: 30s
timeout: 5s
retries: 5
start_period: 15s
migrations:
image: ghcr.io/simstudioai/migrations:latest
working_dir: /app/packages/db
environment:
- DATABASE_URL=postgresql://postgres:${POSTGRES_PASSWORD}@db:5432/simstudio
depends_on:
db:
condition: service_healthy
command: ["bun", "run", "db:migrate"]
restart: "no"
db:
image: pgvector/pgvector:pg17
restart: unless-stopped
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_DB=simstudio
volumes:
- postgres_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
interval: 5s
timeout: 5s
retries: 5
volumes:
postgres_data:

17
blueprints/sim/meta.json Normal file
View File

@@ -0,0 +1,17 @@
{
"id": "sim",
"name": "Sim",
"version": "latest",
"description": "Open-source visual workflow builder for building and deploying AI agent workflows.",
"logo": "sim.svg",
"links": {
"github": "https://github.com/simstudioai/sim",
"website": "https://sim.ai",
"docs": "https://docs.sim.ai"
},
"tags": [
"ai",
"automation",
"workflow"
]
}

1
blueprints/sim/sim.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 7.4 KiB

View File

@@ -0,0 +1,28 @@
[variables]
main_domain = "${domain}"
better_auth_secret = "${password:32}"
encryption_key = "${hash:64}"
api_encryption_key = "${hash:64}"
internal_api_secret = "${password:32}"
postgres_password = "${password:32}"
[config]
[config.env]
SIM_APP_URL = "http://${main_domain}"
BETTER_AUTH_SECRET = "${better_auth_secret}"
ENCRYPTION_KEY = "${encryption_key}"
API_ENCRYPTION_KEY = "${api_encryption_key}"
INTERNAL_API_SECRET = "${internal_api_secret}"
POSTGRES_PASSWORD = "${postgres_password}"
[[config.domains]]
serviceName = "simstudio"
port = 3000
host = "${main_domain}"
[[config.domains]]
serviceName = "realtime"
port = 3002
host = "${main_domain}"
path = "/socket.io"