diff --git a/apps/gitea-runner/README.md b/apps/gitea-runner/README.md index 54d02528..e8b27c41 100644 --- a/apps/gitea-runner/README.md +++ b/apps/gitea-runner/README.md @@ -2,7 +2,7 @@ Gitea 是一个轻量级的 DevOps 平台软件。 -![Gitea](https://about.gitea.com/img/home-screenshot.png) +![Gitea](https://file.lifebus.top/imgs/gitea_cover_show.png) Gitea 是一个轻量级的 DevOps 平台软件。从开发计划到产品成型的整个软件生命周期,他都能够高效而轻松的帮助团队和开发者。包括 Git 托管、代码审查、团队协作、软件包注册和 CI/CD。它与 GitHub、Bitbucket 和 GitLab 等比较类似。 Gitea 最初是从 Gogs diff --git a/apps/gost/5.88.3/data.yml b/apps/gost/5.88.3/data.yml new file mode 100644 index 00000000..cd6d9013 --- /dev/null +++ b/apps/gost/5.88.3/data.yml @@ -0,0 +1,88 @@ +additionalProperties: + formFields: + - child: + default: "" + envKey: PANEL_DB_HOST + required: true + type: service + default: mysql + edit: true + envKey: PANEL_DB_TYPE + labelZh: MySQL 服务 (前置检查) + labelEn: Database Service (Pre-check) + required: true + type: apps + values: + - label: MySQL + value: mysql + - label: MariaDB + value: mariadb + - label: Percona + value: percona + - default: "/home/gost" + edit: true + envKey: GOST_ROOT_PATH + labelZh: 数据持久化路径 + labelEn: Data persistence path + required: true + type: text + - default: 2368 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelZh: WebUI 端口 + labelEn: WebUI port + required: true + rule: paramPort + type: number + - default: "http://127.0.0.1:2368" + edit: true + envKey: url + labelZh: 域名 + labelEn: Domain + required: true + rule: paramExtUrl + type: text + - default: "http://127.0.0.1:2368" + edit: true + envKey: admin__url + labelZh: 域名 (后台) + labelEn: Domain (Admin) + required: true + rule: paramExtUrl + type: text + - default: "127.0.0.1" + edit: true + envKey: database__connection__host + labelZh: 数据库 主机 + labelEn: Database Host + required: true + type: text + - default: 3306 + edit: true + envKey: database__connection__port + labelZh: 数据库 端口 + labelEn: Database Port + required: true + rule: paramPort + type: number + - default: "ghost" + edit: true + envKey: database__connection__user + labelZh: 数据库 用户名 + labelEn: Database Username + required: true + type: text + - default: "" + edit: true + envKey: database__connection__password + labelZh: 数据库 密码 + labelEn: Database Password + required: true + type: password + - default: "ghost" + edit: true + envKey: database__connection__database + labelZh: 数据库 名称 + labelEn: Database Name + required: true + type: text diff --git a/apps/gost/5.88.3/docker-compose.yml b/apps/gost/5.88.3/docker-compose.yml new file mode 100644 index 00000000..34b6d79e --- /dev/null +++ b/apps/gost/5.88.3/docker-compose.yml @@ -0,0 +1,27 @@ +version: "3.8" + +networks: + 1panel-network: + external: true + +services: + ghost: + image: ghost:5.88.3 + container_name: ${CONTAINER_NAME} + labels: + createdBy: "Apps" + restart: always + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:2368 + env_file: + - /etc/1panel/envs/global.env + - ${ENV_FILE:-/etc/1panel/envs/default.env} + volumes: + - ${BARK_ROOT_PATH}/data:/var/lib/ghost/content + environment: + - NODE_ENV=production + - server__host=127.0.0.1 + - server__port=2368 + - database__client=mysql diff --git a/apps/gost/5.88.3/scripts/init.sh b/apps/gost/5.88.3/scripts/init.sh new file mode 100644 index 00000000..77b84912 --- /dev/null +++ b/apps/gost/5.88.3/scripts/init.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/gost/5.88.3/scripts/uninstall.sh b/apps/gost/5.88.3/scripts/uninstall.sh new file mode 100644 index 00000000..c86c4fbc --- /dev/null +++ b/apps/gost/5.88.3/scripts/uninstall.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/gost/5.88.3/scripts/upgrade.sh b/apps/gost/5.88.3/scripts/upgrade.sh new file mode 100644 index 00000000..77b84912 --- /dev/null +++ b/apps/gost/5.88.3/scripts/upgrade.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/gost/README.md b/apps/gost/README.md new file mode 100644 index 00000000..2c7af3d8 --- /dev/null +++ b/apps/gost/README.md @@ -0,0 +1,101 @@ +# Gost + +用于现代出版、会员制、订阅和通讯的独立技术 + +![Gost](https://file.lifebus.top/imgs/gost_cover.png) + +Ghost 是一个基于现代 Node.js 技术堆栈构建的开源专业发布平台,专为需要强大功能、灵活性和性能的团队而设计。 + +![](https://img.shields.io/badge/%E6%96%B0%E7%96%86%E8%90%8C%E6%A3%AE%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91%E5%B7%A5%E4%BD%9C%E5%AE%A4-%E6%8F%90%E4%BE%9B%E6%8A%80%E6%9C%AF%E6%94%AF%E6%8C%81-blue) + +## 特性 + ++ 独立结构 + +Ghost 的结构是一个非营利组织,以确保它永远不会合法地被出售,并且将始终保持独立,根据用户的需求构建产品,而不是寻求💰回报的投资者的突发奇想。 + ++ 可持续发展的业务 + +虽然我们发布的软件是免费的,但我们还为其销售高级托管托管,这为非营利组织提供了可持续的商业模式,并使其能够 100% 自筹资金。 + ++ 分布式团队 + +拥有可持续的业务使我们能够聘请开源贡献者全职从事 Ghost 工作,而且我们完全远程完成这项工作。 Ghost 核心团队完全分布在他们选择的任何地方。 + ++ 默认透明 + +我们透明地分享我们的收入并公开我们的代码,以便任何人都可以验证我们所做的事情以及我们如何做。没有斗篷或匕首。 + ++ 无条件开源 + +我们所有的项目都是在宽松的开源MIT 许可证下发布的,因此即使公司失败,我们的代码仍然可以被世界上任何人不受限制地使用和继承。 + +🚀 内置会员资格和订阅 + +Ghost 不仅可以为匿名访问者创建内容,还可以让您将受众转变为企业,并为会员注册和付费订阅商务提供原生支持。它是唯一一个默认内置会员资格并深度集成的平台。 + +🚀 开发者友好的API + +Ghost 的核心是一个自消耗的 RESTful JSON API,具有解耦的管理客户端和前端。我们提供了很多工具来让网站尽快运行,但最终它只是 +JSON ™️,所以如果您想完全无头使用 Ghost 并编写自己的前端或后端……您可以! + +🚀 丰富编辑器 + +Ghost 拥有每个作家都想要的丰富编辑器,但在幕后它提供的功能远远超出您的预期。 +所有内容都以基于 JSON 的标准化文档存储格式(称为 Lexical)存储,其中包括对称为 Cards 的可扩展富媒体对象的支持。 + +简单来说,您可以将其视为在 Medium 编辑器中集成 Slack,存储合理且可通过 API 完全访问。 + +🚀 自定义网站结构 + +Ghost 中的路由完全可以根据您的需要进行配置。开箱即用的 Ghost 附带了标准的反向时间顺序帖子源,带有干净的永久链接和基本页面,但这很容易更改。 + +无论您需要一个带有/en/和/de/基本 URL 的完整多语言站点,还是想要为/europe/uk/london/等分层数据构建特定的目录结构 — Ghost +的路由层可以任意数量进行操作实现您的用例的方法。 + +🚀 角色和权限 + +从一开始就使用内置的合理用户角色和权限来设置您的站点。 + ++ 贡献者:可以登录并撰写帖子,但不能发布。 ++ 作者:可以创建和发布新的帖子和标签。 ++ 编辑:可以邀请、管理和编辑作者和贡献者。 ++ 管理员:拥有编辑所有数据和设置的完全权限。 ++ 所有者:无法删除的管理员+有权访问账单详细信息。 + +🚀 自定义主题 + +Ghost 附带了一个简单的 Handlebars.js +前端主题层,该层使用起来非常简单,而且功能强大得令人惊讶。许多人坚持使用默认主题(现场演示/源代码),它提供了干净的杂志设计 - +但这可以修改或完全替换。 + +🚀 应用程序和集成 + +因为 Ghost 是完全开源的,构建为 JSON API,具有 Webhooks,并且让您可以完全控制前端:它本质上与所有东西集成。有些事情比其他事情更容易,但几乎任何事情都可以通过一点努力来实现。 +或者是一个比 1803 年更近的比喻。 + +🚀 搜索引擎优化 + +Ghost 配备了世界一流的 SEO 以及确保您的内容快速一致地显示在搜索索引中所需的一切。 + ++ 无需插件 + +Ghost 将所有基本技术 SEO 优化直接内置于核心中,无需依赖第三方插件。得益于 Node.js,它还具有远远优越的速度和页面加载性能。 + ++ 自动谷歌 XML 站点地图 + +Ghost 将自动生成并链接到完整的 Google 站点地图,包括您网站上的每个页面,以确保搜索引擎能够为每个 URL 建立索引。 + ++ 自动结构化数据+JSON-LD + +Ghost 生成有关页面的基于JSON-LD 的结构化元数据,这样您就不必依赖标记中混乱的微格式来提供语义上下文。即使您更改主题或前端,您的 +SEO 仍然完好无损。 +Ghost 还为 Facebook OpenGraph 和 Twitter Card 添加了自动代码。 + ++ 规范标签 + +Ghost 会自动为每个帖子和页面生成正确的rel="canonical"标签,以便搜索引擎始终优先考虑一个真正的链接。 + +--- + +![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png) diff --git a/apps/gost/data.yml b/apps/gost/data.yml new file mode 100644 index 00000000..ab3f35ea --- /dev/null +++ b/apps/gost/data.yml @@ -0,0 +1,17 @@ +name: Ghost +title: 用于现代出版、会员制、订阅和通讯的独立技术 +description: 用于现代出版、会员制、订阅和通讯的独立技术 +additionalProperties: + key: ghost + name: Ghost + tags: + - WebSite + - Local + shortDescZh: 用于现代出版、会员制、订阅和通讯的独立技术 + shortDescEn: A professional publishing platform + type: website + crossVersionUpdate: true + limit: 0 + website: https://ghost.org/ + github: https://github.com/TryGhost/Ghost/ + document: https://ghost.org/docs/ diff --git a/apps/gost/logo.png b/apps/gost/logo.png new file mode 100644 index 00000000..efe7f224 Binary files /dev/null and b/apps/gost/logo.png differ