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.
57 lines
1.9 KiB
TOML
57 lines
1.9 KiB
TOML
[variables]
|
|
main_domain = "${domain}"
|
|
imgproxy_key = "${hash:128}"
|
|
imgproxy_salt = "${hash:128}"
|
|
imgproxy_allowed_sources = "http://${main_domain},https://${main_domain}"
|
|
imgproxy_quality = "80"
|
|
imgproxy_ttl = "30600"
|
|
imgproxy_max_src_file_size = "20971520"
|
|
imgproxy_max_src_resolution = "50"
|
|
imgproxy_log_level = "error"
|
|
imgproxy_max_clients = "10"
|
|
imgproxy_allow_origin = "*"
|
|
imgproxy_enable_webp_detection = "true"
|
|
imgproxy_enforce_webp = "true"
|
|
imgproxy_use_etag = "true"
|
|
nginx_cache_levels = "1:2"
|
|
nginx_cache_keys_zone_size = "32m"
|
|
nginx_cache_max_size = "500m"
|
|
nginx_cache_inactive = "30d"
|
|
nginx_cache_use_temp_path = "off"
|
|
nginx_cache_expires = "30d"
|
|
|
|
[config]
|
|
[[config.domains]]
|
|
serviceName = "nginx"
|
|
port = 80
|
|
host = "${main_domain}"
|
|
|
|
[config.env]
|
|
IMGPROXY_KEY = "${imgproxy_key}"
|
|
IMGPROXY_SALT = "${imgproxy_salt}"
|
|
IMGPROXY_ENABLE_WEBP_DETECTION = "${imgproxy_enable_webp_detection}"
|
|
IMGPROXY_ENFORCE_WEBP = "${imgproxy_enforce_webp}"
|
|
IMGPROXY_TTL = "${imgproxy_ttl}"
|
|
IMGPROXY_DEVELOPMENT_ERRORS_MODE = "false"
|
|
IMGPROXY_READ_TIMEOUT = "10"
|
|
IMGPROXY_WRITE_TIMEOUT = "10"
|
|
IMGPROXY_KEEP_ALIVE_TIMEOUT = "10"
|
|
IMGPROXY_DOWNLOAD_TIMEOUT = "5"
|
|
IMGPROXY_CONCURRENCY = ""
|
|
IMGPROXY_MAX_CLIENTS = "${imgproxy_max_clients}"
|
|
IMGPROXY_SO_REUSEPORT = ""
|
|
IMGPROXY_USER_AGENT = ""
|
|
IMGPROXY_USE_ETAG = "${imgproxy_use_etag}"
|
|
IMGPROXY_QUALITY = "${imgproxy_quality}"
|
|
IMGPROXY_ALLOWED_SOURCES = "${imgproxy_allowed_sources}"
|
|
IMGPROXY_ALLOW_ORIGIN = "${imgproxy_allow_origin}"
|
|
IMGPROXY_MAX_SRC_FILE_SIZE = "${imgproxy_max_src_file_size}"
|
|
IMGPROXY_MAX_SRC_RESOLUTION = "${imgproxy_max_src_resolution}"
|
|
IMGPROXY_LOG_LEVEL = "${imgproxy_log_level}"
|
|
NGINX_CACHE_LEVELS = "${nginx_cache_levels}"
|
|
NGINX_CACHE_KEYS_ZONE_SIZE = "${nginx_cache_keys_zone_size}"
|
|
NGINX_CACHE_MAX_SIZE = "${nginx_cache_max_size}"
|
|
NGINX_CACHE_INACTIVE = "${nginx_cache_inactive}"
|
|
NGINX_CACHE_USE_TEMP_PATH = "${nginx_cache_use_temp_path}"
|
|
NGINX_CACHE_EXPIRES = "${nginx_cache_expires}"
|