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.
81 lines
2.5 KiB
YAML
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
|