mirror of
https://github.com/hanzo-apps/templates.git
synced 2026-10-30 14:48:30 +00:00
Aggregates five OSS one-click/self-hosting catalogs into the Dokploy blueprint
shape the Hanzo PaaS consumes (meta.json array + blueprints/<id>/{template.toml,
docker-compose.yml,meta.json,logo}):
Dokploy 500 (MIT, verbatim) · Coolify 174 (Apache-2.0) · CapRover 161
(Apache-2.0) · CasaOS 85 (Apache-2.0) · Runtipi 110 (GPL-3.0)
Deduped by app identity; each source + app keeps its upstream license
(ATTRIBUTION.md). Deterministic aggregators + a hard validator (every
template.toml parses with the platform's toml lib, every compose parses as YAML,
meta.json is the expected array, and an over-HTTP fetch probe exercises all
1030) — 0 hard failures. Served natively by hanzoai/static on DOKS (no CDN/Pages/
Vercel); CI builds on the hanzo-build-linux-amd64 arc pool; operator App CR in
crs/ serves it at templates.hanzo.ai.
87 lines
3.1 KiB
YAML
87 lines
3.1 KiB
YAML
services:
|
|
openclaw:
|
|
image: "coollabsio/openclaw:2026.2.6"
|
|
environment:
|
|
- AUTH_USERNAME=${AUTH_USERNAME}
|
|
- AUTH_PASSWORD=${AUTH_PASSWORD}
|
|
- OPENCLAW_GATEWAY_TOKEN=${OPENCLAW_GATEWAY_TOKEN}
|
|
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
|
|
- OPENAI_API_KEY=${OPENAI_API_KEY}
|
|
- OPENROUTER_API_KEY=${OPENROUTER_API_KEY}
|
|
- GEMINI_API_KEY=${GEMINI_API_KEY}
|
|
- XAI_API_KEY=${XAI_API_KEY}
|
|
- GROQ_API_KEY=${GROQ_API_KEY}
|
|
- MISTRAL_API_KEY=${MISTRAL_API_KEY}
|
|
- CEREBRAS_API_KEY=${CEREBRAS_API_KEY}
|
|
- VENICE_API_KEY=${VENICE_API_KEY}
|
|
- MOONSHOT_API_KEY=${MOONSHOT_API_KEY}
|
|
- KIMI_API_KEY=${KIMI_API_KEY}
|
|
- MINIMAX_API_KEY=${MINIMAX_API_KEY}
|
|
- ZAI_API_KEY=${ZAI_API_KEY}
|
|
- AI_GATEWAY_API_KEY=${AI_GATEWAY_API_KEY}
|
|
- OPENCODE_API_KEY=${OPENCODE_API_KEY}
|
|
- SYNTHETIC_API_KEY=${SYNTHETIC_API_KEY}
|
|
- COPILOT_GITHUB_TOKEN=${COPILOT_GITHUB_TOKEN}
|
|
- XIAOMI_API_KEY=${XIAOMI_API_KEY}
|
|
- OPENCLAW_PRIMARY_MODEL=${OPENCLAW_PRIMARY_MODEL}
|
|
- DEEPGRAM_API_KEY=${DEEPGRAM_API_KEY}
|
|
- AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}
|
|
- AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}
|
|
- AWS_REGION=${AWS_REGION:-us-east-1}
|
|
- AWS_SESSION_TOKEN=${AWS_SESSION_TOKEN}
|
|
- BEDROCK_PROVIDER_FILTER=${BEDROCK_PROVIDER_FILTER:-anthropic}
|
|
- OLLAMA_BASE_URL=${OLLAMA_BASE_URL}
|
|
- PORT=8080
|
|
- OPENCLAW_GATEWAY_PORT=18789
|
|
- OPENCLAW_GATEWAY_BIND=${OPENCLAW_GATEWAY_BIND:-loopback}
|
|
- OPENCLAW_STATE_DIR=/data/.openclaw
|
|
- OPENCLAW_WORKSPACE_DIR=/data/workspace
|
|
- BROWSER_CDP_URL=http://browser:9223
|
|
- BROWSER_DEFAULT_PROFILE=${BROWSER_DEFAULT_PROFILE:-openclaw}
|
|
- BROWSER_EVALUATE_ENABLED=${BROWSER_EVALUATE_ENABLED:-true}
|
|
- BROWSER_SNAPSHOT_MODE=${BROWSER_SNAPSHOT_MODE:-efficient}
|
|
- BROWSER_REMOTE_TIMEOUT_MS=${BROWSER_REMOTE_TIMEOUT_MS:-1500}
|
|
- BROWSER_REMOTE_HANDSHAKE_TIMEOUT_MS=${BROWSER_REMOTE_HANDSHAKE_TIMEOUT_MS:-3000}
|
|
- HOOKS_ENABLED=${HOOKS_ENABLED:-false}
|
|
- HOOKS_PATH=${HOOKS_PATH:-/hooks}
|
|
- MOONSHOT_BASE_URL=${MOONSHOT_BASE_URL:-https://api.moonshot.ai/v1}
|
|
- KIMI_BASE_URL=${KIMI_BASE_URL:-https://api.moonshot.ai/anthropic}
|
|
- TELEGRAM_BOT_TOKEN=$TELEGRAM_BOT_TOKEN
|
|
- DISCORD_BOT_TOKEN=$DISCORD_BOT_TOKEN
|
|
- SLACK_BOT_TOKEN=$SLACK_BOT_TOKEN
|
|
- SLACK_APP_TOKEN=$SLACK_APP_TOKEN
|
|
- WHATSAPP_ENABLED=$WHATSAPP_ENABLED
|
|
- OPENCLAW_DOCKER_APT_PACKAGES=$OPENCLAW_DOCKER_APT_PACKAGES
|
|
volumes:
|
|
- "openclaw-data:/data"
|
|
depends_on:
|
|
browser:
|
|
condition: service_healthy
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-sf", "http://127.0.0.1:8080/healthz"]
|
|
interval: 10s
|
|
timeout: 10s
|
|
retries: 5
|
|
|
|
|
|
browser:
|
|
image: "coollabsio/openclaw-browser:latest"
|
|
environment:
|
|
- PUID=1000
|
|
- PGID=1000
|
|
- TZ=Etc/UTC
|
|
- CHROME_CLI=--remote-debugging-port=9222
|
|
volumes:
|
|
- "browser-data:/config"
|
|
shm_size: 2g
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "bash -c ':> /dev/tcp/127.0.0.1/9222' || exit 1"]
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 10
|
|
|
|
|
|
volumes:
|
|
openclaw-data:
|
|
browser-data:
|