mirror of
https://github.com/hanzoai/templates-blueprints.git
synced 2026-10-30 14:55:00 +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.
45 lines
1.5 KiB
YAML
45 lines
1.5 KiB
YAML
services:
|
|
cap-web:
|
|
image: ghcr.io/capsoftware/cap-web:latest
|
|
environment:
|
|
- DATABASE_URL=mysql://$SERVICE_USER_MYSQL:$SERVICE_PASSWORD_MYSQL@cap-db:3306/${MYSQL_DATABASE:-planetscale}
|
|
- WEB_URL=${SERVICE_URL_CAP}
|
|
- NEXTAUTH_URL=${SERVICE_URL_CAP}
|
|
- DATABASE_ENCRYPTION_KEY=${SERVICE_PASSWORD_64_DATABASEENCRYPTIONKEY}
|
|
- NEXTAUTH_SECRET=${SERVICE_PASSWORD_64_NEXTAUTHSECRET}
|
|
- CAP_AWS_ACCESS_KEY=${CAP_AWS_ACCESS_KEY:?}
|
|
- CAP_AWS_SECRET_KEY=${CAP_AWS_SECRET_KEY:?}
|
|
- CAP_AWS_BUCKET=${CAP_AWS_BUCKET:?}
|
|
- CAP_AWS_REGION=${CAP_AWS_REGION:?}
|
|
- S3_PUBLIC_ENDPOINT=${S3_PUBLIC_ENDPOINT:?}
|
|
- S3_INTERNAL_ENDPOINT=${S3_INTERNAL_ENDPOINT:?}
|
|
- NEXT_RUNTIME=nodejs
|
|
- S3_PATH_STYLE=${S3_PATH_STYLE:-true}
|
|
- CAP_AWS_ENDPOINT=${CAP_AWS_ENDPOINT:?}
|
|
depends_on:
|
|
cap-db:
|
|
condition: service_healthy
|
|
cap-db:
|
|
image: mysql:8.0
|
|
environment:
|
|
- MYSQL_USER=${SERVICE_USER_MYSQL}
|
|
- MYSQL_PASSWORD=${SERVICE_PASSWORD_MYSQL}
|
|
- MYSQL_DATABASE=${MYSQL_DATABASE:-planetscale}
|
|
- MYSQL_ROOT_PASSWORD=${SERVICE_PASSWORD_MYSQLROOT}
|
|
- MYSQL_ALLOW_EMPTY_PASSWORD=${MYSQL_ALLOW_EMPTY_PASSWORD:-yes}
|
|
command:
|
|
- --max_connections=1000
|
|
- --default-authentication-plugin=mysql_native_password
|
|
healthcheck:
|
|
test:
|
|
- CMD
|
|
- mysqladmin
|
|
- ping
|
|
- -h
|
|
- 127.0.0.1
|
|
interval: 10s
|
|
timeout: 10s
|
|
retries: 5
|
|
volumes:
|
|
- cap_db:/var/lib/mysql
|