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

65 lines
1.8 KiB
YAML

services:
librephotos:
image: reallibrephotos/librephotos-proxy:2023w48
depends_on:
- librephotos-backend
- librephotos-frontend
volumes:
- librephotos-data:/data
- librephotos-protected-media:/protected_media
- librephotos-nginx-conf:/etc/nginx/nginx.conf
expose:
- "80"
restart: always
librephotos-db:
image: postgres:14
environment:
POSTGRES_PASSWORD: ${LIBREPHOTOS_DB_PASSWORD}
POSTGRES_USER: tipi
POSTGRES_DB: librephotos
volumes:
- librephotos-data:/var/lib/postgresql/data
restart: always
librephotos-frontend:
image: reallibrephotos/librephotos-frontend:2023w48
depends_on:
- librephotos-backend
restart: always
librephotos-backend:
image: reallibrephotos/librephotos:2023w48
environment:
SECRET_KEY: ${LIBREPHOTOS_SECRET_KEY}
BACKEND_HOST: librephotos-backend
ADMIN_EMAIL: ${LIBREPHOTOS_EMAIL}
ADMIN_USERNAME: ${LIBREPHOTOS_USERNAME}
ADMIN_PASSWORD: ${LIBREPHOTOS_PASSWORD}
DB_BACKEND: postgresql
DB_NAME: librephotos
DB_USER: tipi
DB_PASS: ${LIBREPHOTOS_DB_PASSWORD}
DB_HOST: librephotos-db
DB_PORT: "5432"
REDIS_HOST: librephotos-redis
REDIS_PORT: "6379"
ALLOW_UPLOAD: "true"
DEBUG: "0"
CSRF_TRUSTED_ORIGINS: ${APP_PROTOCOL:-http}://${APP_DOMAIN},http://${INTERNAL_IP}:${APP_PORT}
depends_on:
librephotos-db:
condition: service_healthy
volumes:
- librephotos-data:/data
- librephotos-protected-media:/protected_media
- librephotos-logs:/logs
- librephotos-cache:/root/.cache
restart: always
librephotos-redis:
image: redis:6
restart: always
volumes:
librephotos-data: {}
librephotos-protected-media: {}
librephotos-nginx-conf: {}
librephotos-logs: {}
librephotos-cache: {}