1
0
Fork 0
This commit is contained in:
pooneyy 2025-06-13 18:49:11 +08:00
parent be08a5b4b7
commit 481b51aec7
12 changed files with 252 additions and 65 deletions

View File

@ -0,0 +1,53 @@
name: "⏰为应用催更"
description: "报告缺陷来帮助我们完善。 / Create a report to help us improve"
title: "[需要更新应用] 哪个应用需要更新? / Which app needs an update?"
labels:
- Update Needed
body:
- type: markdown
attributes:
value: |
## Welcome!
- type: input
attributes:
label: 应用名称 / App Name
description:
于此填入待更新的应用所在的文件夹(例如`gitlab-jh`)。
Enter the folder name of the app that needs an update (for example, `gitlab-jh`).
placeholder: (e.g. gitlab-jh)
validations:
required: true
- type: input
attributes:
label: 应用版本 / App Version
description:
有些应用有`latest`版和带版本号的版本,于此填入需要更新的版本所在的文件夹(例如`18.0.1-jh.0`
Some apps have `latest` and versioned versions, enter the folder name of the version that needs an update here (for example, `18.0.1-jh.0`).
placeholder: (e.g. 18.0.1-jh.0)
validations:
required: true
- type: textarea
attributes:
label: 应用镜像当前的版本 / App's Image Current Version
description:
于此填入当前版本完整的镜像名 (例如`registry.gitlab.cn/omnibus/gitlab-jh:18.0.1-jh.0`
Enter the full image name of the current version here (for example, `registry.gitlab.cn/omnibus/gitlab-jh:18.0.1-jh.0`).
placeholder: |
(e.g. registry.gitlab.cn/omnibus/gitlab-jh:18.0.1-jh.0)
validations:
required: true
- type: textarea
attributes:
label: 应用镜像最新的版本 / App's Image Latest Version
description: 于此填入最新版本完整的镜像名(例如`registry.gitlab.cn/omnibus/gitlab-jh:18.0.2-jh.0` / Enter the full image name of the latest version here (for example, `registry.gitlab.cn/omnibus/gitlab-jh:18.0.2-jh.0`).
placeholder: |
(e.g. registry.gitlab.cn/omnibus/gitlab-jh:18.0.2-jh.0)
validations:
required: false

View File

@ -0,0 +1,51 @@
name: "📝提交新应用 / Add New App"
description: "报告缺陷来帮助我们完善。 / Create a report to help us improve"
title: "[需要增加应用] 需要增加哪个应用? / Which app needs to be added?"
labels:
- Add New App
body:
- type: markdown
attributes:
value: |
## Welcome!
- type: input
attributes:
label: 应用名称 / App Name
description:
想要添加哪个应用?请填于此。
Which app do you want to add? Please fill in here.
placeholder: (e.g. gitlab-jh)
validations:
required: true
- type: textarea
attributes:
label: 想要添加的应用有官方的 Docker 镜像吗?/ Do the app you want to add have official Docker images?
description:
没有官方镜像的应用将不能被添加。
Apps without official Docker images will not be added.
placeholder: (e.g. registry.gitlab.cn/omnibus/gitlab-jh:18.0.1-jh.0:18.0.1-jh.0)
validations:
required: true
- type: textarea
attributes:
label: 该应用文档的URL / The URL of the app's documentation
description:
该应用文档的URL最好能定位到使用 Docker Compose 安装的部分。例如 https://gitlab.cn/docs/jh/install/docker.html#%E4%BD%BF%E7%94%A8-docker-compose-%E5%AE%89%E8%A3%85%E6%9E%81%E7%8B%90gitlab
placeholder: |
(e.g. https://gitlab.cn/docs/jh/install/docker.html#%E4%BD%BF%E7%94%A8-docker-compose-%E5%AE%89%E8%A3%85%E6%9E%81%E7%8B%90gitlab)
validations:
required: true
- type: textarea
attributes:
label: 该应用的 Logo / The app's logo
description:
应用无水印 logo , 以正方形为佳,最好是 180 * 180 px复制图片后粘贴到此处。
The app's logo without watermark, it's best to be square, preferably 180 * 180 px, copy the image and paste it here.
validations:
required: false

2
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@ -0,0 +1,2 @@
blank_issues_enabled: false
contact_links: []

40
.github/workflows/merge-prs.yml vendored Normal file
View File

@ -0,0 +1,40 @@
name: Auto Merge Open PRs
on:
schedule:
- cron: 0 0 3/3 * *
workflow_dispatch:
jobs:
merge-prs:
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: 登录到 GitHub CLI
run: gh auth login --with-token <<< "${{ github.token }}"
- name: 获取可合并的 PR
id: get-prs
run: |
pr_list=$( gh pr list --state open --json number,mergeable --limit 1000 --jq 'sort_by(.number) | .[] | .number' )
pr_list=$(echo "$pr_list" | tr '\n' ' ')
echo "PRs to merge: $pr_list"
echo "pr_list=$pr_list" >> $GITHUB_OUTPUT
- name: 合并 PR
run: |
for pr in ${{ steps.get-prs.outputs.pr_list }}; do
if ! gh pr merge $pr --merge --delete-branch --body ""; then
echo "⚠️ 合并 PR #$pr 失败"
else
echo "✅ 合并 PR #$pr 成功"
fi
sleep 3
done

View File

@ -9,18 +9,30 @@ docker_compose_files=$(find apps/$app_name/$old_version -name docker-compose.yml
for docker_compose_file in $docker_compose_files for docker_compose_file in $docker_compose_files
do do
# Assuming that the app version will be from the first docker image # Assuming that the app version will be from the first docker image
first_service=$(yq '.services | keys | .[0]' $docker_compose_file) first_service=$(yq '.services | keys | .[0]' $docker_compose_file)
echo "第一个服务是: $first_service"
image=$(yq .services.$first_service.image $docker_compose_file) image=$(yq .services.$first_service.image $docker_compose_file)
echo "该服务的镜像: $image"
# Only apply changes if the format is <image>:<version> # Only apply changes if the format is <image>:<version>
if [[ "$image" == *":"* ]]; then if [[ "$image" == *":"* ]]; then
version=$(cut -d ":" -f2- <<< "$image") version=$(cut -d ":" -f2- <<< "$image")
echo "版本号: $version"
# Trim the "v" prefix # Trim the "v" prefix
trimmed_version=${version/#"v"} trimmed_version=${version/#"v"}
echo "Trimmed version: $trimmed_version"
mv apps/$app_name/$old_version apps/$app_name/$trimmed_version if [ "$old_version" != "$trimmed_version" ]; then
echo "将 apps/$app_name/$old_version 重命名为 apps/$app_name/$trimmed_version"
if [ ! -d "apps/$app_name/$trimmed_version" ]; then
mv apps/$app_name/$old_version apps/$app_name/$trimmed_version
else
echo "apps/$app_name/$trimmed_version 文件夹已存在"
exit 1
fi
fi
fi fi
done done

View File

@ -11,6 +11,8 @@ on:
jobs: jobs:
update-app-version: update-app-version:
runs-on: ubuntu-latest runs-on: ubuntu-latest
permissions:
contents: write
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4

View File

@ -3,9 +3,6 @@ name: Renovate
on: on:
schedule: schedule:
- cron: "0 0 * * *" - cron: "0 0 * * *"
push:
branches:
- localApps
workflow_dispatch: workflow_dispatch:
inputs: inputs:
manual-trigger: manual-trigger:
@ -19,7 +16,7 @@ jobs:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Run Renovate - name: Run Renovate
uses: renovatebot/github-action@v41.0.6 uses: renovatebot/github-action@12f8ed8e6a936a00dc66b628d224488ac406b5e8 # v42.0.5
with: with:
useSlim: false useSlim: false
token: ${{ secrets.GITHUBTOKEN }} token: ${{ github.token }}

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
*.bat
*.sh

View File

@ -1,17 +1,9 @@
[中文](https://github.com/okxlin/appstore/blob/localApps/README.md) | English [中文](https://github.com/pooneyy/1Panel-appstore/blob/localApps/README.md) | English
***
## Contribution Link
[**Click here to contribute with AFDIAN**](https://afdian.com/a/dockerapps)
[![**Click here to contribute with AFDIAN**](https://github.com/okxlin/appstore/raw/localApps/docs/afdian-logo.png)](https://afdian.com/a/dockerapps)
* * * * * *
## Table of Contents ## Table of Contents
- [Contribution Link](#contribution-link)
- [Table of Contents](#table-of-contents) - [Table of Contents](#table-of-contents)
- [Disclaimer](#disclaimer) - [Disclaimer](#disclaimer)
- [1. Image Container Adaptation](#1-image-container-adaptation) - [1. Image Container Adaptation](#1-image-container-adaptation)
@ -53,12 +45,6 @@ These are some configurations of docker applications adapted for the `1Panel` st
Dedicated to running various Docker applications with just one click. Enjoy convenience and efficiency without complex configurations. Dedicated to running various Docker applications with just one click. Enjoy convenience and efficiency without complex configurations.
### 1Panel Third-Party App Store Categories and Introduction
- https://1p.131.gs
**Special thanks to the author [@baozishu](https://github.com/baozishu)**
## 2. Usage ## 2. Usage
The default installation path of `1Panel` is `/opt/`, which can be modified as needed. The default installation path of `1Panel` is `/opt/`, which can be modified as needed.
@ -74,7 +60,7 @@ The default installation path of `1Panel` is `/opt/`, which can be modified as n
In the `Shell Script` task type in the `1Panel` scheduled tasks, add and execute the following command, or run the following command in the terminal: In the `Shell Script` task type in the `1Panel` scheduled tasks, add and execute the following command, or run the following command in the terminal:
```shell ```shell
git clone -b localApps https://ghp.ci/https://github.com/okxlin/appstore /opt/1panel/resource/apps/local/appstore-localApps git clone -b localApps https://ghp.ci/https://github.com/pooneyy/1Panel-appstore /opt/1panel/resource/apps/local/appstore-localApps
cp -rf /opt/1panel/resource/apps/local/appstore-localApps/apps/* /opt/1panel/resource/apps/local/ cp -rf /opt/1panel/resource/apps/local/appstore-localApps/apps/* /opt/1panel/resource/apps/local/
@ -88,7 +74,7 @@ Then refresh the local applications in the app store.
In the `Shell Script` task type in the `1Panel` scheduled tasks, add and execute the following command, or run the following command in the terminal: In the `Shell Script` task type in the `1Panel` scheduled tasks, add and execute the following command, or run the following command in the terminal:
```shell ```shell
wget -P /opt/1panel/resource/apps/local https://ghp.ci/https://github.com/okxlin/appstore/archive/refs/heads/localApps.zip wget -P /opt/1panel/resource/apps/local https://ghp.ci/https://github.com/pooneyy/1Panel-appstore/archive/refs/heads/localApps.zip
unzip -o -d /opt/1panel/resource/apps/local/ /opt/1panel/resource/apps/local/localApps.zip unzip -o -d /opt/1panel/resource/apps/local/ /opt/1panel/resource/apps/local/localApps.zip
@ -108,7 +94,7 @@ Then refresh the local applications in the app store.
In the `Shell Script` task type in the `1Panel` scheduled tasks, add and execute the following command, or run the following command in the terminal: In the `Shell Script` task type in the `1Panel` scheduled tasks, add and execute the following command, or run the following command in the terminal:
```shell ```shell
git clone -b localApps https://github.com/okxlin/appstore /opt/1panel/resource/apps/local/appstore-localApps git clone -b localApps https://github.com/pooneyy/1Panel-appstore /opt/1panel/resource/apps/local/appstore-localApps
cp -rf /opt/1panel/resource/apps/local/appstore-localApps/apps/* /opt/1panel/resource/apps/local/ cp -rf /opt/1panel/resource/apps/local/appstore-localApps/apps/* /opt/1panel/resource/apps/local/
@ -122,7 +108,7 @@ Then refresh the local applications in the app store.
In the `Shell Script` task type in the `1Panel` scheduled tasks, add and execute the following command, or run the following command in the terminal: In the `Shell Script` task type in the `1Panel` scheduled tasks, add and execute the following command, or run the following command in the terminal:
```shell ```shell
wget -P /opt/1panel/resource/apps/local https://github.com/okxlin/appstore/archive/refs/heads/localApps.zip wget -P /opt/1panel/resource/apps/local https://github.com/pooneyy/1Panel-appstore/archive/refs/heads/localApps.zip
unzip -o -d /opt/1panel/resource/apps/local/ /opt/1panel/resource/apps/local/localApps.zip unzip -o -d /opt/1panel/resource/apps/local/ /opt/1panel/resource/apps/local/localApps.zip
@ -165,4 +151,4 @@ cat ./data/hbbs/id_ed25519.pub
## 4. App Overview ## 4. App Overview
![](https://github.com/okxlin/appstore/raw/localApps/docs/app-list.png) ![](https://github.com/pooneyy/1Panel-appstore/raw/localApps/docs/app-list.png)

View File

@ -1,16 +1,8 @@
中文 | [English](https://github.com/okxlin/appstore/blob/localApps/README-en.md) 中文 | [English](https://github.com/pooneyy/1Panel-appstore/blob/localApps/README-en.md)
***
## 打赏链接
[**点我打赏,用爱发电**](https://afdian.com/a/dockerapps)
[![**点我打赏,用爱发电**](https://github.com/okxlin/appstore/raw/localApps/docs/afdian-logo.png)](https://afdian.com/a/dockerapps)
* * * * * *
## 目录 ## 目录
- [打赏链接](#打赏链接)
- [目录](#目录) - [目录](#目录)
- [免责声明](#免责声明) - [免责声明](#免责声明)
- [1. 镜像容器适配](#1-镜像容器适配) - [1. 镜像容器适配](#1-镜像容器适配)
@ -52,12 +44,6 @@
致力于一键运行各种 Docker 应用。无需复杂配置,享受便利和高效。 致力于一键运行各种 Docker 应用。无需复杂配置,享受便利和高效。
### 1Panel第三方应用商店应用分类合集与介绍
- https://1p.131.gs
**感谢作者[@包子叔](https://github.com/baozishu)**
## 2. 使用方式 ## 2. 使用方式
默认`1Panel`安装在`/opt/`路径下,如果不是按需修改以下。 默认`1Panel`安装在`/opt/`路径下,如果不是按需修改以下。
@ -72,7 +58,7 @@
`1Panel`计划任务类型`Shell 脚本`的计划任务框里,添加并执行以下命令,或者终端运行以下命令, `1Panel`计划任务类型`Shell 脚本`的计划任务框里,添加并执行以下命令,或者终端运行以下命令,
```shell ```shell
git clone -b localApps https://ghp.ci/https://github.com/okxlin/appstore /opt/1panel/resource/apps/local/appstore-localApps git clone -b localApps https://ghp.ci/https://github.com/pooneyy/1Panel-appstore /opt/1panel/resource/apps/local/appstore-localApps
cp -rf /opt/1panel/resource/apps/local/appstore-localApps/apps/* /opt/1panel/resource/apps/local/ cp -rf /opt/1panel/resource/apps/local/appstore-localApps/apps/* /opt/1panel/resource/apps/local/
@ -85,7 +71,7 @@ rm -rf /opt/1panel/resource/apps/local/appstore-localApps
`1Panel`计划任务类型`Shell 脚本`的计划任务框里,添加并执行以下命令,或者终端运行以下命令, `1Panel`计划任务类型`Shell 脚本`的计划任务框里,添加并执行以下命令,或者终端运行以下命令,
```shell ```shell
wget -P /opt/1panel/resource/apps/local https://ghp.ci/https://github.com/okxlin/appstore/archive/refs/heads/localApps.zip wget -P /opt/1panel/resource/apps/local https://ghp.ci/https://github.com/pooneyy/1Panel-appstore/archive/refs/heads/localApps.zip
unzip -o -d /opt/1panel/resource/apps/local/ /opt/1panel/resource/apps/local/localApps.zip unzip -o -d /opt/1panel/resource/apps/local/ /opt/1panel/resource/apps/local/localApps.zip
@ -104,7 +90,7 @@ rm -rf /opt/1panel/resource/apps/local/localApps.zip
`1Panel`计划任务类型`Shell 脚本`的计划任务框里,添加并执行以下命令,或者终端运行以下命令, `1Panel`计划任务类型`Shell 脚本`的计划任务框里,添加并执行以下命令,或者终端运行以下命令,
```shell ```shell
git clone -b localApps https://github.com/okxlin/appstore /opt/1panel/resource/apps/local/appstore-localApps git clone -b localApps https://github.com/pooneyy/1Panel-appstore /opt/1panel/resource/apps/local/appstore-localApps
cp -rf /opt/1panel/resource/apps/local/appstore-localApps/apps/* /opt/1panel/resource/apps/local/ cp -rf /opt/1panel/resource/apps/local/appstore-localApps/apps/* /opt/1panel/resource/apps/local/
@ -117,7 +103,7 @@ rm -rf /opt/1panel/resource/apps/local/appstore-localApps
`1Panel`计划任务类型`Shell 脚本`的计划任务框里,添加并执行以下命令,或者终端运行以下命令, `1Panel`计划任务类型`Shell 脚本`的计划任务框里,添加并执行以下命令,或者终端运行以下命令,
```shell ```shell
wget -P /opt/1panel/resource/apps/local https://github.com/okxlin/appstore/archive/refs/heads/localApps.zip wget -P /opt/1panel/resource/apps/local https://github.com/pooneyy/1Panel-appstore/archive/refs/heads/localApps.zip
unzip -o -d /opt/1panel/resource/apps/local/ /opt/1panel/resource/apps/local/localApps.zip unzip -o -d /opt/1panel/resource/apps/local/ /opt/1panel/resource/apps/local/localApps.zip
@ -161,4 +147,4 @@ cat ./data/hbbs/id_ed25519.pub
## 4. 应用一览图 ## 4. 应用一览图
![](https://github.com/okxlin/appstore/raw/localApps/docs/app-list.png) ![](https://github.com/pooneyy/1Panel-appstore/raw/localApps/docs/app-list.png)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 181 KiB

View File

@ -1,45 +1,101 @@
{ {
"$schema": "https://docs.renovatebot.com/renovate-schema.json", "$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": ["config:base"], "extends": [
"config:recommended"
],
"gitIgnoredAuthors": [ "gitIgnoredAuthors": [
"githubaction@githubaction.com" "githubaction@githubaction.com"
], ],
"rebaseWhen": "never", "rebaseWhen": "never",
"packageRules": [ "packageRules": [
{ {
"packageNames": ["docker-compose"], "matchPackageNames": [
"docker-compose"
],
"automerge": true "automerge": true
}, },
{ {
"matchFileNames": ["apps/mysql/5.5.*/*.yml"], "matchPackageNames": [
"*.aliyuncs.com/**",
"*.gitlab.cn/**",
"*.myhuaweicloud.com/**"
],
"enabled": false
},
{
"matchPackageNames": ["heimdall**"],
"allowedVersions": "^!/\\d{4}\\.\\d{1,2}\\.\\d{1,2}$/",
"enabled": false
},
{
"matchPackageNames": ["xhofe/alist"],
"matchCurrentVersion": "v3.40.0",
"allowedVersions": "v3.40.0"
},
{
"matchPackageNames":[
"mysql**",
"node**",
"postgres**",
"redis**"
],
"enabled": false
},
{
"matchFileNames": [
"apps/mysql/5.5.*/*.yml"
],
"allowedVersions": "/^5.5.*/" "allowedVersions": "/^5.5.*/"
}, },
{ {
"matchFileNames": ["apps/mysql/5.6.*/*.yml"], "matchFileNames": [
"apps/mysql/5.6.*/*.yml"
],
"allowedVersions": "/^5.6.*/" "allowedVersions": "/^5.6.*/"
}, },
{ {
"matchFileNames": ["apps/mysql/5.7.*/*.yml"], "matchFileNames": [
"apps/mysql/5.7.*/*.yml"
],
"allowedVersions": "/^5.7.*/" "allowedVersions": "/^5.7.*/"
}, },
{ {
"matchFileNames": ["apps/mysql/8.0.*/*.yml"], "matchFileNames": [
"apps/mysql/8.0.*/*.yml"
],
"allowedVersions": "/^8.0.*/" "allowedVersions": "/^8.0.*/"
}, },
{ {
"matchFileNames": ["apps/mysql/8.4.*/*.yml"], "matchFileNames": [
"apps/mysql/8.4.*/*.yml"
],
"allowedVersions": "/^8.4.*/" "allowedVersions": "/^8.4.*/"
}, },
{ {
"matchFileNames": ["apps/php-unofficial/7.4.*/*.yml"], "matchFileNames": [
"apps/php-unofficial/7.4.*/*.yml",
"apps/php-unofficial/7.4.*/Dockerfile"
],
"allowedVersions": "/^7.4.*/" "allowedVersions": "/^7.4.*/"
}, },
{ {
"matchFileNames": ["apps/php-unofficial/8.1.*/*.yml"], "matchFileNames": [
"apps/php-unofficial/8.1.*/*.yml",
"apps/php-unofficial/8.1.*/Dockerfile"
],
"allowedVersions": "/^8.1.*/" "allowedVersions": "/^8.1.*/"
}, },
{ {
"matchFileNames": ["apps/reader/2.7.*/*.yml"], "matchFileNames": [
"apps/php-unofficial/8.4.*/*.yml",
"apps/php-unofficial/8.4.*/Dockerfile"
],
"allowedVersions": "/^8.4.*/"
},
{
"matchFileNames": [
"apps/reader/2.7.*/*.yml"
],
"allowedVersions": "/^2.7.*/" "allowedVersions": "/^2.7.*/"
} }
], ],