Files
zeekay cf4d0b027e templates.hanzo.ai: 1030-blueprint one-click deploy catalog
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.
2026-07-24 01:46:23 -07:00

81 lines
2.5 KiB
YAML

services:
frontend:
image: ghcr.io/smaug6739/alexandrie-frontend:v8.10.0
environment:
- PORT=8200
- NUXT_PUBLIC_CONFIG_DISABLE_SIGNUP_PAGE=${CONFIG_DISABLE_SIGNUP:-false}
- NUXT_PUBLIC_CONFIG_DISABLE_LANDING_PAGE=${CONFIG_DISABLE_LANDING:-false}
- NUXT_PUBLIC_BASE_API=${SERVICE_URL_BACKEND}
- NUXT_PUBLIC_BASE_CDN=${SERVICE_URL_RUSTFS}
- NUXT_PUBLIC_CDN_ENDPOINT=${CDN_ENDPOINT:-/alexandrie/}
- NUXT_PUBLIC_BASE_URL=${SERVICE_URL_FRONTEND}
depends_on:
- backend
backend:
image: ghcr.io/smaug6739/alexandrie-backend:v8.10.0
environment:
- BACKEND_PORT=8201
- GIN_MODE=release
- JWT_SECRET=${SERVICE_PASSWORD_JWT}
- COOKIE_DOMAIN=${SERVICE_URL_FRONTEND}
- FRONTEND_URL=${SERVICE_URL_FRONTEND}
- ALLOW_UNSECURE=${ALLOW_UNSECURE:-false}
- DATABASE_HOST=mysql
- DATABASE_PORT=3306
- DATABASE_NAME=${MYSQL_DATABASE:-alexandrie-db}
- DATABASE_USER=${SERVICE_USER_MYSQL}
- DATABASE_PASSWORD=${SERVICE_PASSWORD_MYSQL}
- MINIO_ENDPOINT=rustfs:9000
- MINIO_PUBLIC_URL=${SERVICE_URL_RUSTFS}
- MINIO_SECURE=${MINIO_SECURE:-false}
- MINIO_ACCESSKEY=${SERVICE_USER_RUSTFS}
- MINIO_SECRETKEY=${SERVICE_PASSWORD_RUSTFS}
- MINIO_BUCKET=${MINIO_BUCKET:-alexandrie}
- SMTP_HOST=${SMTP_HOST:-}
- SMTP_MAIL=${SMTP_MAIL:-}
- SMTP_PASSWORD=${SMTP_PASSWORD:-}
depends_on:
mysql:
condition: service_healthy
rustfs:
condition: service_healthy
mysql:
image: mysql:8.0
environment:
- MYSQL_ROOT_PASSWORD=${SERVICE_PASSWORD_MYSQLROOT}
- MYSQL_USER=${SERVICE_USER_MYSQL}
- MYSQL_PASSWORD=${SERVICE_PASSWORD_MYSQL}
- MYSQL_DATABASE=${MYSQL_DATABASE:-alexandrie-db}
volumes:
- mysql-data:/var/lib/mysql
healthcheck:
test:
- CMD
- mysqladmin
- ping
- -h
- localhost
- -u
- root
- -p${SERVICE_PASSWORD_MYSQLROOT}
timeout: 5s
interval: 10s
retries: 5
rustfs:
image: rustfs/rustfs:1.0.0-beta.8
environment:
- RUSTFS_ACCESS_KEY=${SERVICE_USER_RUSTFS}
- RUSTFS_SECRET_KEY=${SERVICE_PASSWORD_RUSTFS}
- RUSTFS_CONSOLE_ENABLE=${RUSTFS_CONSOLE_ENABLE:-false}
- RUSTFS_LOG_LEVEL=${RUSTFS_LOG_LEVEL:-info}
volumes:
- rustfs-data:/data
- rustfs-logs:/logs
healthcheck:
test:
- CMD-SHELL
- nc -z localhost 9000 || exit 1
interval: 10s
timeout: 5s
retries: 5