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.
107 lines
3.9 KiB
YAML
107 lines
3.9 KiB
YAML
services:
|
|
outline:
|
|
image: docker.getoutline.com/outlinewiki/outline:latest
|
|
volumes:
|
|
- storage-data:/var/lib/outline/data
|
|
depends_on:
|
|
postgres:
|
|
condition: service_healthy
|
|
redis:
|
|
condition: service_healthy
|
|
environment:
|
|
- NODE_ENV=production
|
|
- SECRET_KEY=${SERVICE_HEX_64_OUTLINE}
|
|
- UTILS_SECRET=${SERVICE_PASSWORD_64_OUTLINE}
|
|
- DATABASE_URL=postgres://${SERVICE_USER_POSTGRES}:${SERVICE_PASSWORD_64_POSTGRES}@postgres:5432/${POSTGRES_DATABASE:-outline}
|
|
- REDIS_URL=redis://:${SERVICE_PASSWORD_64_REDIS}@redis:6379
|
|
- URL=${SERVICE_URL_OUTLINE}
|
|
- PORT=${OUTLINE_PORT:-3000}
|
|
- FILE_STORAGE=${FILE_STORAGE:-local}
|
|
- FILE_STORAGE_LOCAL_ROOT_DIR=${FILE_STORAGE_LOCAL_ROOT_DIR:-/var/lib/outline/data}
|
|
- FILE_STORAGE_UPLOAD_MAX_SIZE=${FILE_STORAGE_UPLOAD_MAX_SIZE:-2000}
|
|
- FILE_STORAGE_IMPORT_MAX_SIZE=${FILE_STORAGE_IMPORT_MAX_SIZE:-100}
|
|
- FILE_STORAGE_WORKSPACE_IMPORT_MAX_SIZE=${FILE_STORAGE_WORKSPACE_IMPORT_MAX_SIZE}
|
|
- AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}
|
|
- AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}
|
|
- AWS_REGION=${AWS_REGION}
|
|
- AWS_S3_ACCELERATE_URL=${AWS_S3_ACCELERATE_URL}
|
|
- AWS_S3_UPLOAD_BUCKET_URL=${AWS_S3_UPLOAD_BUCKET_URL}
|
|
- AWS_S3_UPLOAD_BUCKET_NAME=${AWS_S3_UPLOAD_BUCKET_NAME}
|
|
- AWS_S3_FORCE_PATH_STYLE=${AWS_S3_FORCE_PATH_STYLE:-true}
|
|
- AWS_S3_ACL=${AWS_S3_ACL:-private}
|
|
- SLACK_CLIENT_ID=${SLACK_CLIENT_ID}
|
|
- SLACK_CLIENT_SECRET=${SLACK_CLIENT_SECRET}
|
|
- GOOGLE_CLIENT_ID=${GOOGLE_CLIENT_ID}
|
|
- GOOGLE_CLIENT_SECRET=${GOOGLE_CLIENT_SECRET}
|
|
- AZURE_CLIENT_ID=${AZURE_CLIENT_ID}
|
|
- AZURE_CLIENT_SECRET=${AZURE_CLIENT_SECRET}
|
|
- AZURE_RESOURCE_APP_ID=${AZURE_RESOURCE_APP_ID}
|
|
- OIDC_CLIENT_ID=${OIDC_CLIENT_ID}
|
|
- OIDC_CLIENT_SECRET=${OIDC_CLIENT_SECRET}
|
|
- OIDC_AUTH_URI=${OIDC_AUTH_URI}
|
|
- OIDC_TOKEN_URI=${OIDC_TOKEN_URI}
|
|
- OIDC_USERINFO_URI=${OIDC_USERINFO_URI}
|
|
- OIDC_LOGOUT_URI=${OIDC_LOGOUT_URI}
|
|
- OIDC_USERNAME_CLAIM=${OIDC_USERNAME_CLAIM}
|
|
- OIDC_DISPLAY_NAME=${OIDC_DISPLAY_NAME}
|
|
- OIDC_SCOPES=${OIDC_SCOPES}
|
|
- GITHUB_CLIENT_ID=${GITHUB_CLIENT_ID}
|
|
- GITHUB_CLIENT_SECRET=${GITHUB_CLIENT_SECRET}
|
|
- GITHUB_APP_NAME=${GITHUB_APP_NAME}
|
|
- GITHUB_APP_ID=${GITHUB_APP_ID}
|
|
- GITHUB_APP_PRIVATE_KEY=${GITHUB_APP_PRIVATE_KEY}
|
|
- DISCORD_CLIENT_ID=${DISCORD_CLIENT_ID}
|
|
- DISCORD_CLIENT_SECRET=${DISCORD_CLIENT_SECRET}
|
|
- DISCORD_SERVER_ID=${DISCORD_SERVER_ID}
|
|
- DISCORD_SERVER_ROLES=${DISCORD_SERVER_ROLES}
|
|
- PGSSLMODE=${PGSSLMODE:-disable}
|
|
- FORCE_HTTPS=${FORCE_HTTPS:-true}
|
|
- SMTP_HOST=${SMTP_HOST}
|
|
- SMTP_PORT=${SMTP_PORT}
|
|
- SMTP_USERNAME=${SMTP_USERNAME}
|
|
- SMTP_PASSWORD=${SMTP_PASSWORD}
|
|
- SMTP_FROM_EMAIL=${SMTP_FROM_EMAIL}
|
|
- SMTP_REPLY_EMAIL=${SMTP_REPLY_EMAIL}
|
|
- SMTP_TLS_CIPHERS=${SMTP_TLS_CIPHERS}
|
|
- SMTP_SECURE=${SMTP_SECURE}
|
|
- SMTP_NAME=${SMTP_NAME}
|
|
healthcheck:
|
|
disable: true
|
|
redis:
|
|
image: redis:alpine
|
|
environment:
|
|
- REDIS_PASSWORD=${SERVICE_PASSWORD_64_REDIS}
|
|
command:
|
|
- redis-server
|
|
- --requirepass
|
|
- ${SERVICE_PASSWORD_64_REDIS}
|
|
healthcheck:
|
|
test:
|
|
- CMD
|
|
- redis-cli
|
|
- -a
|
|
- ${SERVICE_PASSWORD_64_REDIS}
|
|
- PING
|
|
interval: 10s
|
|
timeout: 30s
|
|
retries: 3
|
|
postgres:
|
|
image: postgres:12-alpine
|
|
volumes:
|
|
- database-data:/var/lib/postgresql/data
|
|
environment:
|
|
- POSTGRES_USER=${SERVICE_USER_POSTGRES}
|
|
- POSTGRES_PASSWORD=${SERVICE_PASSWORD_64_POSTGRES}
|
|
- POSTGRES_DB=${POSTGRES_DATABASE:-outline}
|
|
healthcheck:
|
|
test:
|
|
- CMD
|
|
- pg_isready
|
|
- -U
|
|
- ${SERVICE_USER_POSTGRES}
|
|
- -d
|
|
- ${POSTGRES_DATABASE:-outline}
|
|
interval: 30s
|
|
timeout: 20s
|
|
retries: 3
|