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

151 lines
3.9 KiB
YAML

services:
weknora:
image: wechatopenai/weknora-ui:v0.2.14
environment:
- MAX_FILE_SIZE_MB=50
depends_on:
app:
condition: service_healthy
expose:
- "80"
restart: unless-stopped
app:
image: wechatopenai/weknora-app:v0.2.14
environment:
- OTEL_EXPORTER_OTLP_ENDPOINT=jaeger:4317
- OTEL_SERVICE_NAME=WeKnora
- OTEL_TRACES_EXPORTER=otlp
- OTEL_METRICS_EXPORTER=none
- OTEL_LOGS_EXPORTER=none
- OTEL_PROPAGATORS=tracecontext,baggage
- QDRANT_HOST=qdrant
- QDRANT_PORT=6334
- QDRANT_COLLECTION=weknora_embeddings
- QDRANT_API_KEY=
- QDRANT_USE_TLS=false
- MINIO_ENDPOINT=minio:9000
- MINIO_ACCESS_KEY_ID=minioadmin
- MINIO_SECRET_ACCESS_KEY=minioadmin
- MINIO_BUCKET_NAME=weknora
- GIN_MODE=release
- DISABLE_REGISTRATION=false
- DB_DRIVER=postgres
- DB_HOST=weknora-postgres
- DB_PORT=5432
- DB_USER=postgres
- DB_PASSWORD=postgres123!@#
- DB_NAME=WeKnora
- TZ=$TZ
- RETRIEVE_DRIVER=postgres
- DOCREADER_ADDR=weknora-docreader:50051
- STORAGE_TYPE=minio
- LOCAL_STORAGE_BASE_DIR=/data/files
- AUTO_RECOVER_DIRTY=true
- OLLAMA_BASE_URL=http://host.docker.internal:11434
- STREAM_MANAGER_TYPE=redis
- REDIS_ADDR=weknora-redis:6379
- REDIS_PASSWORD=redis123!@#
- REDIS_DB=0
- REDIS_PREFIX="stream:"
- TENANT_AES_KEY=weknorarag-api-key-secret-secret
- CONCURRENCY_POOL_SIZE=5
- JWT_SECRET=weknora-jwt-secret
- MAX_FILE_SIZE_MB=50
depends_on:
weknora-redis:
condition: service_started
weknora-postgres:
condition: service_healthy
weknora-docreader:
condition: service_healthy
volumes:
- weknora-files:/data/files
restart: unless-stopped
weknora-docreader:
image: wechatopenai/weknora-docreader:v0.2.14
environment:
- MAX_FILE_SIZE_MB=50
- MINIO_ENDPOINT=minio:9000
- MINIO_ACCESS_KEY_ID=minioadmin
- MINIO_SECRET_ACCESS_KEY=minioadmin
- MINIO_BUCKET_NAME=weknora
restart: unless-stopped
weknora-postgres:
image: paradedb/paradedb:v0.18.9-pg17
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres123!@#
- POSTGRES_DB=WeKnora
volumes:
- weknora-data:/var/lib/postgresql/data
restart: unless-stopped
weknora-redis:
image: redis:7.0-alpine
command:
- redis-server
- --requirepass redis123!@#
- --appendonly
- yes
restart: unless-stopped
minio:
image: minio/minio:RELEASE.2025-09-07T16-13-09Z
command:
- server
- /data
- --console-address
- :9001
environment:
- MINIO_ROOT_USER=minioadmin
- MINIO_ROOT_PASSWORD=minioadmin
expose:
- "9000"
- "9001"
volumes:
- weknora-data:/data
restart: unless-stopped
jaeger:
image: jaegertracing/all-in-one:1.76.0
environment:
- COLLECTOR_OTLP_ENABLED=true
- COLLECTOR_ZIPKIN_HOST_PORT=:9411
expose:
- "6831"
- "6832"
- "5778"
- "16686"
- "4317"
- "4318"
- "14250"
- "14268"
- "9411"
volumes:
- weknora-jaeger:/var/lib/jaeger
restart: unless-stopped
neo4j:
image: neo4j:2025.10.1
environment:
- NEO4J_AUTH=neo4j/password
- NEO4J_apoc_export_file_enabled=true
- NEO4J_apoc_import_file_enabled=true
- NEO4J_apoc_import_file_use__neo4j__config=true
- NEO4JLABS_PLUGINS=["apoc"]
expose:
- "7474"
- "7687"
volumes:
- weknora-data:/data
restart: unless-stopped
qdrant:
image: qdrant/qdrant:v1.16.2
expose:
- "6333"
- "6334"
volumes:
- weknora-storage:/qdrant/storage
restart: unless-stopped
volumes:
weknora-files: {}
weknora-data: {}
weknora-jaeger: {}
weknora-storage: {}