尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

从零到一:CapRover One Click Apps创建、测试并发布你的第一个一键应用完整教程

从零到一:CapRover One Click Apps创建、测试并发布你的第一个一键应用完整教程 从零到一CapRover One Click Apps创建、测试并发布你的第一个一键应用完整教程【免费下载链接】one-click-appsCommunity Maintained One Click Apps (https://github.com/caprover/caprover)项目地址: https://gitcode.com/gh_mirrors/on/one-click-appsCapRover 一键应用One Click Apps是指通过一个 YAML 模板就能在 CapRover 面板上一键部署到自建服务器上的应用。one-click-apps 是由社区维护的官方应用仓库目前已收录354 个一键应用从 Nextcloud、GitLab 到 Jellyfin、私有网盘一应俱全。本教程将手把手带你完成整个流程编写你的第一个一键应用 → 本地脚本校验 → 面板实测 → 构建发布让其他 CapRover 用户也能一键安装它。1️⃣ 认识仓库结构354 个一键应用是怎么组织的在动手之前先花一分钟了解仓库的目录布局这是编写第一个一键应用的基础目录 / 文件作用public/v4/apps/存放所有一键应用的 YAML 模板当前 354 个public/v4/logos/应用图标文件名必须与应用同名如gitea.pngscripts/校验脚本与构建脚本校验、打包 distcaptain-definition把应用仓库本身部署为 CapRover 应用的定义文件 新手建议先精读最简示例 privatebin.yml它是官方推荐的入门模板再看一个多服务示例 gitea.yml一个应用同时拉起 Gitea MySQL 两个容器。2️⃣ 手把手创建你的第一个一键应用4 个步骤步骤 1准备一份 Docker Compose 配置CapRover 的一键应用本质是带元数据的 Docker Compose 文件。先为你要部署的应用找到或自己写好一份可用的 Compose 配置这是第一步。步骤 2补齐 CapRover 专属模板在 Compose 文件基础上做两处改造在文件最顶部加上captainVersion: 4在文件末尾追加caproverOneClickApp配置块结构如下对照 gitea.yml 理解更直观captainVersion: 4 services: $$cap_appname: image: myapp/image:$$cap_version environment: TZ: $$cap_tz caproverOneClickApp: variables: - id: $$cap_version label: App Version defaultValue: 1.2.3 validRegex: /.{1,}/ instructions: start: 安装前展示给用户的说明 end: 部署成功后展示的总结 displayName: My Awesome App isOfficial: true description: 少于200字符的简介步骤 3定义变量让用户自己填参数变量以$$cap为前缀可以出现在 YAML 任意位置部署时会被用户在面板里填写的值替换。系统内置 3 个特殊变量强烈建议用起来$$cap_appname应用名同时作为服务名、域名前缀$$cap_root_domain根域名两者组合即可得到myapp.rootdomain.com$$cap_gen_random_hex(length)生成随机密码适合做数据库默认口令⚠️ 注意字段默认不是必填的。只有设置了validRegex用户才必须填写否则该变量会被留空忽略。步骤 4添加同名应用图标把应用图标PNG 格式放到 public/v4/logos/ 目录文件名必须与 yml 文件名完全一致例如myapp.yml对应myapp.png校验脚本会强制检查这一点。3️⃣ 本地自动校验3 条命令把好质量关仓库自带完整的检查工具链见 package.json提交前依次执行命令作用npm ci安装校验所需依赖npm run validate_apps运行 scripts/validate_apps.js 逐个检查所有应用npm run formatter-write用 Prettier 统一格式化 public 下所有 yml/json校验脚本会自动拦截以下常见问题❌captainVersion不是 4❌ 缺少description/instructions.start/instructions.end❌ 描述超过 200 个字符❌logos/目录下找不到同名图标4️⃣ 在 CapRover 面板中实测你的 One Click App脚本通过只是第一步真正的验收标准是能在面板里一键跑起来。测试路径非常短登录你的 CapRover 管理面板进入apps→ 点击One-Click Apps/Databases在下拉列表最底部选择 TEMPLATE 把你的 YAML 全文粘贴进文本框点击NEXT逐项填写变量值确认应用按预期部署成功。 建议用一个全新的测试应用名跑一遍完整流程重点检查域名是否可访问、持久化数据卷是否挂载、多服务依赖顺序是否正确。5️⃣ 构建并发布你的应用仓库实测通过后就要把成果发布出去让别人的 CapRover 实例也能安装执行npm run build构建脚本scripts/build_one_click_apps.js 与 scripts/build_one_click_apps_from_v4.js会生成静态站点到./dist目录把./dist用任意静态文件服务器托管或通过 GitHub Pages 等静态托管发布详见 README.md 中 Building your own one-click app repository 章节在目标 CapRover 面板的One-Click Apps/Databases页面底部把你的仓库地址填入3rd party repositories输入框点击Connect New Repository即可连接。 还有一个进阶玩法利用根目录的 captain-definition 文件可以把你的私有应用仓库直接部署在自己的 CapRover 实例上——面板中选择从 Git 仓库部署并执行强制构建仓库本身就成了一个 Web 服务官方应用仓库即以此方式托管。6️⃣ 避坑指南一键应用常见错误清单 ️常见坑正确做法镜像使用:latest标签固定具体版本号避免镜像变更导致部署失败写了一堆 Compose 高级参数CapRover 仅解析 8 个参数image、environment、ports、volumes、depends_on、hostname、command、cap_add非 Web 服务如数据库暴露成网页在caproverExtra中设置notExposeAsWebApp: true自定义 HTTP 端口不生效通过caproverExtra.containerHttpPort指定默认 80写在最后回顾一下完整链路编写 YAML 模板 → 补充同名图标 →npm run validate_apps校验 → 面板 TEMPLATE 实测 →npm run build发布仓库 → 面板连接第三方仓库。整个流程下来你的第一个 CapRover 一键应用就正式上线了 仓库中 354 个现成模板就是最好的老师——挑一个你喜欢的应用照着改是上手最快的方式。【免费下载链接】one-click-appsCommunity Maintained One Click Apps (https://github.com/caprover/caprover)项目地址: https://gitcode.com/gh_mirrors/on/one-click-apps创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表