mirror of
https://github.com/hanzo-apps/templates.git
synced 2026-11-02 09:11:13 +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.
68 lines
1.7 KiB
YAML
68 lines
1.7 KiB
YAML
version: "3.8"
|
|
|
|
services:
|
|
postgres:
|
|
image: postgres:16-alpine
|
|
volumes:
|
|
- postgres_data:/var/lib/postgresql/data
|
|
environment:
|
|
POSTGRES_DB: postgres
|
|
POSTGRES_USER: postgres
|
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U postgres -d postgres"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
|
|
minio:
|
|
image: minio/minio:latest
|
|
command: server /data
|
|
volumes:
|
|
- minio_data:/data
|
|
environment:
|
|
MINIO_ROOT_USER: ${MINIO_ROOT_USER}
|
|
MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD}
|
|
|
|
chrome:
|
|
image: ghcr.io/browserless/chromium:v2.18.0
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
environment:
|
|
TIMEOUT: 10000
|
|
CONCURRENT: 10
|
|
TOKEN: ${CHROME_TOKEN}
|
|
EXIT_ON_HEALTH_FAILURE: "true"
|
|
PRE_REQUEST_HEALTH_CHECK: "true"
|
|
|
|
app:
|
|
image: amruthpillai/reactive-resume:latest
|
|
depends_on:
|
|
- postgres
|
|
- minio
|
|
- chrome
|
|
environment:
|
|
PORT: 3000
|
|
NODE_ENV: production
|
|
PUBLIC_URL: https://${APP_DOMAIN}
|
|
STORAGE_URL: https://${APP_DOMAIN}/default
|
|
CHROME_TOKEN: ${CHROME_TOKEN}
|
|
CHROME_URL: ws://chrome:3000
|
|
DATABASE_URL: postgresql://postgres:${POSTGRES_PASSWORD}@postgres:5432/postgres
|
|
ACCESS_TOKEN_SECRET: ${ACCESS_TOKEN_SECRET}
|
|
REFRESH_TOKEN_SECRET: ${REFRESH_TOKEN_SECRET}
|
|
MAIL_FROM: ${MAIL_FROM}
|
|
STORAGE_ENDPOINT: minio
|
|
STORAGE_PORT: 9000
|
|
STORAGE_REGION: us-east-1
|
|
STORAGE_BUCKET: default
|
|
STORAGE_ACCESS_KEY: ${MINIO_ROOT_USER}
|
|
STORAGE_SECRET_KEY: ${MINIO_ROOT_PASSWORD}
|
|
STORAGE_USE_SSL: "false"
|
|
STORAGE_SKIP_BUCKET_CHECK: "false"
|
|
|
|
|
|
volumes:
|
|
minio_data:
|
|
postgres_data:
|