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

71 lines
2.0 KiB
TOML

[variables]
main_domain = "${domain}"
owncloud_url = "https://${main_domain}"
admin_password = "${password:32}"
log_level = "info"
[[config.domains]]
serviceName = "gateway"
port = 8080
host = "${main_domain}"
path = "/"
[[config.mounts]]
filePath = "/etc/nginx/conf.d/default.conf"
content = """
map $http_upgrade $connection_upgrade {
default upgrade;
"" close;
}
server {
listen 8080;
client_max_body_size 0;
proxy_request_buffering off;
location / {
proxy_pass http://owncloud-infinite-scale:9200;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_read_timeout 3600s;
proxy_send_timeout 3600s;
}
}
"""
[[config.mounts]]
filePath = "README.md"
content = """# ownCloud Infinite Scale
This template deploys ownCloud Infinite Scale (oCIS), a modern file sync and share platform with WebDAV and ownCloud client support.
## Access
- URL: `https://${main_domain}`
- Admin user: `admin`
- Admin password: the generated `admin_password` value
The `owncloud_url` value must use `https://` because oCIS only supports HTTPS public URLs (its built-in identity provider rejects plain HTTP issuers). A bundled nginx gateway sits in front of oCIS and forwards requests with `X-Forwarded-Proto: https`, which keeps oCIS from redirecting every request when it runs behind the Dokploy proxy. Enable HTTPS on the Dokploy domain so the public URL matches `OCIS_URL`.
## Storage
The template creates persistent volumes for:
- `/etc/ocis` configuration
- `/var/lib/ocis` application data and user storage
- `/var/lib/ocis-thumbnails` generated thumbnails
Back up these volumes together before upgrades or migrations.
"""
[config.env]
OCIS_URL = "${owncloud_url}"
IDM_ADMIN_PASSWORD = "${admin_password}"
OCIS_LOG_LEVEL = "${log_level}"