From 269f5ef7a67ddbef488170fa5a6cadf395fc2df9 Mon Sep 17 00:00:00 2001 From: ms Date: Thu, 4 Dec 2025 12:17:23 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=91=E5=B8=83=20Opengist?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/opengist/1.11.1/data.yml | 66 ++++++++++++++++++++++ apps/opengist/1.11.1/docker-compose.yml | 31 ++++++++++ apps/opengist/1.11.1/envs/default.env | 2 + apps/opengist/1.11.1/envs/global.env | 2 + apps/opengist/1.11.1/scripts/init.sh | 17 ++++++ apps/opengist/1.11.1/scripts/uninstall.sh | 10 ++++ apps/opengist/1.11.1/scripts/upgrade.sh | 17 ++++++ apps/opengist/README.md | 26 +++++++++ apps/opengist/data.yml | 14 +++++ apps/opengist/logo.png | Bin 0 -> 28853 bytes apps/opengist/logo.svg | 29 ++++++++++ 11 files changed, 214 insertions(+) create mode 100644 apps/opengist/1.11.1/data.yml create mode 100644 apps/opengist/1.11.1/docker-compose.yml create mode 100644 apps/opengist/1.11.1/envs/default.env create mode 100644 apps/opengist/1.11.1/envs/global.env create mode 100644 apps/opengist/1.11.1/scripts/init.sh create mode 100644 apps/opengist/1.11.1/scripts/uninstall.sh create mode 100644 apps/opengist/1.11.1/scripts/upgrade.sh create mode 100644 apps/opengist/README.md create mode 100644 apps/opengist/data.yml create mode 100644 apps/opengist/logo.png create mode 100644 apps/opengist/logo.svg diff --git a/apps/opengist/1.11.1/data.yml b/apps/opengist/1.11.1/data.yml new file mode 100644 index 000000000..43655fe49 --- /dev/null +++ b/apps/opengist/1.11.1/data.yml @@ -0,0 +1,66 @@ +additionalProperties: + formFields: + - default: "/home/opengist" + edit: true + envKey: OPENGIST_ROOT_PATH + labelZh: 数据持久化路径 + labelEn: Data persistence path + required: true + type: text + - default: 6157 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelZh: WebUI 端口 + labelEn: WebUI port + required: true + rule: paramPort + type: number + - default: "" + edit: true + envKey: OG_EXTERNAL_URL + labelZh: 外部访问地址 + labelEn: External access URL + required: false + type: text + - default: "" + edit: true + envKey: OG_GITHUB_CLIENT_KEY + labelZh: GitHub 客户端密钥 + labelEn: GitHub Client Key + required: false + type: text + - default: "" + edit: true + envKey: OG_GITHUB_SECRET + labelZh: GitHub 密钥 + labelEn: GitHub Secret + required: false + type: text + - default: "https://gitea.com/" + edit: true + envKey: OG_GITEA_URL + labelZh: Gitea 地址 + labelEn: Gitea URL + required: false + type: text + - default: "Gitea" + edit: true + envKey: OG_GITEA_NAME + labelZh: Gitea 名称 + labelEn: Gitea Name + required: false + type: text + - default: "" + edit: true + envKey: OG_GITEA_CLIENT_KEY + labelZh: Gitea 客户端密钥 + labelEn: Gitea Client Key + required: false + type: text + - default: "" + edit: true + envKey: OG_GITEA_SECRET + labelZh: Gitea 密钥 + labelEn: Gitea Secret + required: false + type: text diff --git a/apps/opengist/1.11.1/docker-compose.yml b/apps/opengist/1.11.1/docker-compose.yml new file mode 100644 index 000000000..836c3e23f --- /dev/null +++ b/apps/opengist/1.11.1/docker-compose.yml @@ -0,0 +1,31 @@ +networks: + 1panel-network: + external: true + +services: + opengist: + image: thomiceli/opengist:1.11.1 + container_name: ${CONTAINER_NAME} + labels: + createdBy: "Apps" + restart: always + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:6157 + env_file: + - ${GLOBAL_ENV_FILE:-/etc/1panel/envs/global.env} + - ${ENV_FILE:-/etc/1panel/envs/default.env} + volumes: + - ${OPENGIST_ROOT_PATH}/.opengist:/opengist + healthcheck: + test: ["CMD-SHELL", "curl -f http://localhost:6157/healthcheck"] + interval: 30s + timeout: 10s + retries: 3 + environment: + - TZ=Asia/Shanghai + - OG_SQLITE_JOURNAL_MODE=WAL + - OG_HTTP_HOST=0.0.0.0 + - OG_SSH_HOST=0.0.0.0 + - OG_SSH_PORT=6157 diff --git a/apps/opengist/1.11.1/envs/default.env b/apps/opengist/1.11.1/envs/default.env new file mode 100644 index 000000000..cd05f46e6 --- /dev/null +++ b/apps/opengist/1.11.1/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/apps/opengist/1.11.1/envs/global.env b/apps/opengist/1.11.1/envs/global.env new file mode 100644 index 000000000..e10989fe4 --- /dev/null +++ b/apps/opengist/1.11.1/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/apps/opengist/1.11.1/scripts/init.sh b/apps/opengist/1.11.1/scripts/init.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/apps/opengist/1.11.1/scripts/init.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + sed -i '/^GLOBAL_ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/opengist/1.11.1/scripts/uninstall.sh b/apps/opengist/1.11.1/scripts/uninstall.sh new file mode 100644 index 000000000..c86c4fbca --- /dev/null +++ b/apps/opengist/1.11.1/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/opengist/1.11.1/scripts/upgrade.sh b/apps/opengist/1.11.1/scripts/upgrade.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/apps/opengist/1.11.1/scripts/upgrade.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + sed -i '/^GLOBAL_ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/opengist/README.md b/apps/opengist/README.md new file mode 100644 index 000000000..f7c687350 --- /dev/null +++ b/apps/opengist/README.md @@ -0,0 +1,26 @@ +# Opengist + +自托管的粘贴板,基于 Git,Github Gist 的开源替代品。 + +![Opengist](https://file.lifebus.top/imgs/opengist_cover.png) + +![](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) + +## 特征 + ++ 创建公开、未公开或私密的摘要 ++ 通过 Git 通过 HTTP 或 SSH 启动/克隆/拉取/推送片段 ++ 语法突出;Markdown 和 CSV 支持 ++ 搜索代码片段;浏览用户的片段、点赞和分支 ++ 将话题添加到摘要中 ++ 将摘要嵌入其他网站 ++ 修订历史 ++ 喜欢 / 分叉片段 ++ 下载原始文件或 ZIP 压缩档案 ++ OAuth2 登录 GitHub、GitLab、Gittea 和 OpenID Connect ++ 限制或解除对匿名用户可见的摘要 ++ Docker 支持 / Helm 图表 + +--- + +![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png) diff --git a/apps/opengist/data.yml b/apps/opengist/data.yml new file mode 100644 index 000000000..6086969ba --- /dev/null +++ b/apps/opengist/data.yml @@ -0,0 +1,14 @@ +additionalProperties: + key: opengist + name: Opengist + tags: + - WebSite + - Local + shortDescZh: 自托管的粘贴板,基于 Git,Github Gist 的开源替代品。 + shortDescEn: Self-hosted pastebin powered by Git, open-source alternative to Github Gist. + type: website + crossVersionUpdate: true + limit: 0 + website: https://opengist.io/ + github: https://github.com/thomiceli/opengist + document: https://opengist.io/docs/ diff --git a/apps/opengist/logo.png b/apps/opengist/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..7092e907f6a249eeed1ade354363a79087137e84 GIT binary patch literal 28853 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

y-{odD8F<`vj@p_&eL6jQ^q{P)EaPj{ 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 DCM|*L literal 0 KcmV+b0RR6000031 diff --git a/apps/opengist/logo.svg b/apps/opengist/logo.svg new file mode 100644 index 000000000..90e07819a --- /dev/null +++ b/apps/opengist/logo.svg @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + +