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.
65 lines
1.8 KiB
YAML
65 lines
1.8 KiB
YAML
services:
|
|
registry:
|
|
image: registry:3
|
|
environment:
|
|
- USERNAME=${SERVICE_USER_REGISTRY}
|
|
- PASSWORD=${SERVICE_PASSWORD_REGISTRY}
|
|
- REGISTRY_AUTH=htpasswd
|
|
- REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm
|
|
- REGISTRY_AUTH_HTPASSWD_PATH=/auth/registry.password
|
|
command:
|
|
- /entrypoint.sh
|
|
volumes:
|
|
- registry-data:/var/lib/registry
|
|
- type: bind
|
|
source: ./etc/entrypoint.sh
|
|
target: /entrypoint.sh
|
|
mode: "0755"
|
|
content: |
|
|
#!/usr/bin/env sh
|
|
set -e
|
|
|
|
if [ -z "$USERNAME" ] || [ -z "$PASSWORD" ]; then
|
|
echo "Error: USERNAME and PASSWORD environment variables must be set"
|
|
exit 1
|
|
fi
|
|
|
|
apk add --no-cache apache2-utils
|
|
mkdir -p "$(dirname "$REGISTRY_AUTH_HTPASSWD_PATH")"
|
|
chmod 755 "$(dirname "$REGISTRY_AUTH_HTPASSWD_PATH")"
|
|
htpasswd -Bbc "$REGISTRY_AUTH_HTPASSWD_PATH" "$USERNAME" "$PASSWORD"
|
|
registry serve /etc/docker/registry/config.yml
|
|
- type: bind
|
|
source: ./config/config.yml
|
|
target: /etc/docker/registry/config.yml
|
|
isDirectory: false
|
|
content: |-
|
|
version: 0.1
|
|
log:
|
|
fields:
|
|
service: registry
|
|
storage:
|
|
cache:
|
|
blobdescriptor: inmemory
|
|
filesystem:
|
|
rootdirectory: /var/lib/registry
|
|
http:
|
|
addr: :5000
|
|
headers:
|
|
X-Content-Type-Options: [nosniff]
|
|
health:
|
|
storagedriver:
|
|
enabled: true
|
|
interval: 10s
|
|
threshold: 3
|
|
healthcheck:
|
|
test:
|
|
- CMD
|
|
- wget
|
|
- -q
|
|
- --spider
|
|
- http://localhost:5000/
|
|
interval: 5s
|
|
timeout: 20s
|
|
retries: 10
|