模板
使用 sh0 的模板目录在几秒内部署热门应用。浏览 170+ 个预配置模板,涵盖数据库、Web 框架、开发工具等。
模板目录
模板目录可通过任何堆栈中的 新建应用 → 模板 访问。每个模板包含预配置的 Docker 镜像、默认环境变量、卷挂载和健康检查——让服务立即运行所需的一切。
Template catalog grid showing popular templates like PostgreSQL, Redis, WordPress, and Nginx
模板支持按名称、类别或标签搜索。你也可以使用侧边栏导航按类别筛选。
Template search bar with filter results showing database templates
模板类别
模板按以下类别组织:
| 类别 | 示例 | 数量 |
|---|---|---|
| 数据库 | PostgreSQL、MySQL、MariaDB、MongoDB、Redis、ClickHouse | 18 |
| Web 框架 | WordPress、Ghost、Strapi、Directus、Payload CMS | 22 |
| 开发者工具 | Gitea、Drone CI、Verdaccio、SonarQube、Sentry | 19 |
| 监控 | Grafana、Prometheus、Uptime Kuma、Netdata | 12 |
| 通信 | Mattermost、Rocket.Chat、n8n、Chatwoot | 10 |
| 存储 | MinIO、Nextcloud、Seafile、Garage | 9 |
| 分析 | Plausible、Umami、Matomo、PostHog | 8 |
| 网络 | Nginx、Traefik、WireGuard、Pi-hole | 7 |
| 其他 | Vaultwarden、Planka、Bookstack、Outline | 14 |
一键部署
部署模板只需一次点击。从目录中选择模板,查看默认设置,然后点击 部署。sh0 处理所有事务:
- 从配置的镜像仓库拉取 Docker 镜像
- 为持久化数据创建命名卷
- 使用安全默认值设置环境变量(自动生成随机密码)
- 为服务配置健康检查
- 在
app-name.your-domain.com上配置域名 - 通过 Caddy 签发 SSL 证书
One-click deploy confirmation screen for PostgreSQL with generated credentials
Tip
sh0 为每个需要凭据的模板生成强随机密码。这些密码安全存储在应用的环境变量中,可从控制台访问。
部署前自定义
部署前可以自定义任何模板设置:
- 应用名称:为服务选择名称(用于 URL)
- 镜像标签:选择特定版本(例如
postgres:16与postgres:15) - 环境变量:覆盖任何默认值
- 资源限制:设置容器的 CPU 和内存限制
- 卷大小:指定持久化数据的存储分配
- 域名:分配自定义域名代替默认子域名
Template customization form with fields for name, image version, environment variables, and resource limits
Note
所有模板设置在部署后都可以更改。自定义界面只是让你在首次部署前设置初始值。
创建自定义模板
你可以创建自己的模板来标准化团队的部署。自定义模板以 YAML 定义,可通过控制台添加或放置在 sh0 服务器的 templates/ 目录中。
模板格式
name: My API Template
description: Standard Node.js API with PostgreSQL
icon: server
category: web-frameworks
tags:
- nodejs
- api
- postgresql
services:
api:
image: node:20-alpine
ports:
- "3000:3000"
environment:
NODE_ENV: production
DATABASE_URL: postgres://user:pass@db:5432/api
healthcheck:
path: /health
interval: 30s
volumes:
- uploads:/app/uploads
db:
image: postgres:16
environment:
POSTGRES_USER: user
POSTGRES_PASSWORD: "{{random_password}}"
POSTGRES_DB: api
volumes:
- pgdata:/var/lib/postgresql/data
volumes:
uploads:
pgdata:undefined} 占位符在部署时会被替换为安全的随机字符串。其他可用占位符包括 undefined} 和 undefined}。
共享模板
放置在 templates/ 目录中的自定义模板对 sh0 实例上的所有用户可用。你可以按类别将它们组织到子目录中。
templates/
databases/
my-postgres-cluster.yaml
my-redis-sentinel.yaml
web/
company-api.yaml
company-frontend.yaml Tip
自定义模板与内置模板一起显示在目录中。它们以「自定义」标记进行视觉区分,便于团队识别。