mirror of
https://github.com/Dokploy/templates.git
synced 2026-07-16 04:48:50 -05:00
feat: add SimAiStudio template with PostgreSQL and realtime support
This commit is contained in:
92
blueprints/simstudio/docker-compose.yml
Normal file
92
blueprints/simstudio/docker-compose.yml
Normal file
@@ -0,0 +1,92 @@
|
||||
version: "3.8"
|
||||
|
||||
services:
|
||||
simstudio:
|
||||
image: ghcr.io/simstudioai/simstudio:latest
|
||||
restart: unless-stopped
|
||||
expose:
|
||||
- 3000
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
memory: 8G
|
||||
environment:
|
||||
- NODE_ENV=production
|
||||
- DATABASE_URL=postgresql://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@db:5432/${POSTGRES_DB:-simstudio}
|
||||
- BETTER_AUTH_URL=${BETTER_AUTH_URL:-http://localhost:3000}
|
||||
- NEXT_PUBLIC_APP_URL=${NEXT_PUBLIC_APP_URL:-http://localhost:3000}
|
||||
- BETTER_AUTH_SECRET=${BETTER_AUTH_SECRET:-your_auth_secret_here}
|
||||
- ENCRYPTION_KEY=${ENCRYPTION_KEY:-your_encryption_key_here}
|
||||
- COPILOT_API_KEY=${COPILOT_API_KEY:-}
|
||||
- SIM_AGENT_API_URL=${SIM_AGENT_API_URL:-}
|
||||
- OLLAMA_URL=${OLLAMA_URL:-http://localhost:11434}
|
||||
- SOCKET_SERVER_URL=http://realtime:3002
|
||||
- NEXT_PUBLIC_SOCKET_URL=${NEXT_PUBLIC_SOCKET_URL:-http://localhost:3002}
|
||||
- DEFAULT_ADMIN_EMAIL=${DEFAULT_ADMIN_EMAIL:-admin@example.com}
|
||||
- DEFAULT_ADMIN_PASSWORD=${DEFAULT_ADMIN_PASSWORD:-admin123}
|
||||
depends_on:
|
||||
db:
|
||||
condition: service_healthy
|
||||
migrations:
|
||||
condition: service_completed_successfully
|
||||
realtime:
|
||||
condition: service_healthy
|
||||
healthcheck:
|
||||
test: ['CMD-SHELL', 'wget --spider --quiet http://127.0.0.1:3000 || curl -f http://127.0.0.1:3000 || exit 1']
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 5
|
||||
start_period: 60s
|
||||
|
||||
realtime:
|
||||
image: ghcr.io/simstudioai/realtime:latest
|
||||
restart: unless-stopped
|
||||
expose:
|
||||
- 3002
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
memory: 4G
|
||||
environment:
|
||||
- DATABASE_URL=postgresql://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@db:5432/${POSTGRES_DB:-simstudio}
|
||||
- NEXT_PUBLIC_APP_URL=${NEXT_PUBLIC_APP_URL:-http://localhost:3000}
|
||||
- BETTER_AUTH_URL=${BETTER_AUTH_URL:-http://localhost:3000}
|
||||
- BETTER_AUTH_SECRET=${BETTER_AUTH_SECRET:-your_auth_secret_here}
|
||||
depends_on:
|
||||
db:
|
||||
condition: service_healthy
|
||||
healthcheck:
|
||||
test: ['CMD-SHELL', 'wget --spider --quiet http://127.0.0.1:3002/health || curl -f http://127.0.0.1:3002/health || exit 1']
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 5
|
||||
start_period: 60s
|
||||
|
||||
migrations:
|
||||
image: ghcr.io/simstudioai/migrations:latest
|
||||
working_dir: /app/packages/db
|
||||
environment:
|
||||
- DATABASE_URL=postgresql://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@db:5432/${POSTGRES_DB:-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_USER:-postgres}
|
||||
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-postgres}
|
||||
- POSTGRES_DB=${POSTGRES_DB:-simstudio}
|
||||
volumes:
|
||||
- postgres_data:/var/lib/postgresql/data
|
||||
healthcheck:
|
||||
test: ['CMD-SHELL', 'pg_isready -U ${POSTGRES_USER:-postgres}']
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
volumes:
|
||||
postgres_data:
|
||||
BIN
blueprints/simstudio/sim.png
Normal file
BIN
blueprints/simstudio/sim.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 303 KiB |
41
blueprints/simstudio/template.toml
Normal file
41
blueprints/simstudio/template.toml
Normal file
@@ -0,0 +1,41 @@
|
||||
[variables]
|
||||
main_domain = "${domain}"
|
||||
realtime_domain = "ws.${domain}"
|
||||
app_protocol = "https"
|
||||
postgres_user = "postgres"
|
||||
postgres_password = "${password:32}"
|
||||
postgres_db = "simstudio"
|
||||
auth_secret = "${base64:32}"
|
||||
encryption_key = "${base64:32}"
|
||||
copilot_api_key = ""
|
||||
sim_agent_api_url = ""
|
||||
ollama_url = "http://localhost:11434"
|
||||
default_admin_email = "${email}"
|
||||
default_admin_password = "${password:16}"
|
||||
|
||||
[config]
|
||||
env = [
|
||||
"POSTGRES_USER=${postgres_user}",
|
||||
"POSTGRES_PASSWORD=${postgres_password}",
|
||||
"POSTGRES_DB=${postgres_db}",
|
||||
"NEXT_PUBLIC_APP_URL=${app_protocol}://${main_domain}",
|
||||
"BETTER_AUTH_URL=${app_protocol}://${main_domain}",
|
||||
"NEXT_PUBLIC_SOCKET_URL=${app_protocol}://${realtime_domain}",
|
||||
"BETTER_AUTH_SECRET=${auth_secret}",
|
||||
"ENCRYPTION_KEY=${encryption_key}",
|
||||
"COPILOT_API_KEY=${copilot_api_key}",
|
||||
"SIM_AGENT_API_URL=${sim_agent_api_url}",
|
||||
"OLLAMA_URL=${ollama_url}",
|
||||
"DEFAULT_ADMIN_EMAIL=${default_admin_email}",
|
||||
"DEFAULT_ADMIN_PASSWORD=${default_admin_password}"
|
||||
]
|
||||
|
||||
[[config.domains]]
|
||||
serviceName = "simstudio"
|
||||
port = 3000
|
||||
host = "${main_domain}"
|
||||
|
||||
[[config.domains]]
|
||||
serviceName = "realtime"
|
||||
port = 3002
|
||||
host = "${realtime_domain}"
|
||||
19
meta.json
19
meta.json
@@ -5468,6 +5468,25 @@
|
||||
"markdown"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "simstudio",
|
||||
"name": "SimAi",
|
||||
"version": "latest",
|
||||
"description": "Sim ai is an open-source AI agent workflow platform that enables building and deploying intelligent automation workflows with real-time capabilities.",
|
||||
"logo": "sim.png",
|
||||
"links": {
|
||||
"github": "https://github.com/simstudioai/simstudio",
|
||||
"website": "https://simstudio.ai",
|
||||
"docs": "https://docs.simstudio.ai"
|
||||
},
|
||||
"tags": [
|
||||
"ai",
|
||||
"automation",
|
||||
"workflow",
|
||||
"agents",
|
||||
"real-time"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "slash",
|
||||
"name": "Slash",
|
||||
|
||||
Reference in New Issue
Block a user