Merge branch 'patch/add-apps' into localApps
This commit is contained in:
commit
627443691e
|
|
@ -0,0 +1,67 @@
|
|||
additionalProperties:
|
||||
formFields:
|
||||
- default: http://1.2.3.4:3000
|
||||
edit: true
|
||||
envKey: FORGEJO_INSTANCE_URL
|
||||
labelEn: Forgejo Instance
|
||||
labelZh: Forgejo 实例
|
||||
required: true
|
||||
rule: paramExtUrl
|
||||
type: text
|
||||
label:
|
||||
en: Forgejo Instance
|
||||
ja: Forgejo インスタンス
|
||||
ms: Instans Forgejo
|
||||
pt-br: Instância Forgejo
|
||||
ru: Экземпляр Forgejo
|
||||
ko: Forgejo 인스턴스
|
||||
zh-Hant: Forgejo 實例
|
||||
zh: Forgejo 实例
|
||||
- default: '<registration_token>'
|
||||
edit: true
|
||||
envKey: RUNNER_REGISTRATION_TOKEN
|
||||
labelEn: Registration Token
|
||||
labelZh: Registration Token
|
||||
required: true
|
||||
type: text
|
||||
label:
|
||||
en: Registration Token
|
||||
ja: 登録トークン
|
||||
ms: Token Pendaftaran
|
||||
pt-br: Token de Registro
|
||||
ru: Токен регистрации
|
||||
ko: 등록 토큰
|
||||
zh-Hant: 註冊令牌
|
||||
zh: 注册令牌
|
||||
- default: '<runner_name>'
|
||||
edit: true
|
||||
envKey: RUNNER_NAME
|
||||
labelEn: Runner Name
|
||||
labelZh: Runner Name
|
||||
required: true
|
||||
type: text
|
||||
label:
|
||||
en: Runner Name
|
||||
ja: ランナー名
|
||||
ms: Nama Pelari
|
||||
pt-br: Nome do Runner
|
||||
ru: Имя бегуна
|
||||
ko: 러너 이름
|
||||
zh-Hant: 執行器名稱
|
||||
zh: 运行器名称
|
||||
- default: '<runner_labels>'
|
||||
edit: true
|
||||
envKey: RUNNER_LABELS
|
||||
labelEn: Runner Labels
|
||||
labelZh: Runner Labels
|
||||
required: true
|
||||
type: text
|
||||
label:
|
||||
en: Runner Labels
|
||||
ja: ランナータグ
|
||||
ms: Label Pelari
|
||||
pt-br: Rótulos do Runner
|
||||
ru: Метки бегуна
|
||||
ko: 러너 레이블
|
||||
zh-Hant: 執行器標籤
|
||||
zh: 运行器标签
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
services:
|
||||
dind:
|
||||
image: docker:dind # [ignore]
|
||||
container_name: forgejo-dind
|
||||
privileged: true
|
||||
restart: 'unless-stopped'
|
||||
command: ['dockerd', '-H', 'tcp://0.0.0.0:2375', '--tls=false']
|
||||
environment:
|
||||
DOCKER_TLS_CERTDIR: ""
|
||||
volumes:
|
||||
- ./data/dind-data:/var/lib/docker
|
||||
- ./data/daemon.json:/etc/docker/daemon.json:ro
|
||||
networks:
|
||||
- 1panel-network
|
||||
labels:
|
||||
createdBy: "Apps"
|
||||
forgejo_runner:
|
||||
image: code.forgejo.org/forgejo/runner:9.1.1
|
||||
container_name: ${CONTAINER_NAME:-forgejo-runner}
|
||||
depends_on:
|
||||
dind:
|
||||
condition: service_started
|
||||
links:
|
||||
- dind
|
||||
restart: always
|
||||
user: "1000:1000" # 非 root 用户运行容器
|
||||
command: "/data/scripts/register.sh"
|
||||
volumes:
|
||||
- ./data/runner-data:/data
|
||||
- ./scripts/register.sh:/data/scripts/register.sh:ro
|
||||
environment:
|
||||
- DOCKER_HOST=tcp://dind:2375
|
||||
- FORGEJO_INSTANCE_URL=${FORGEJO_INSTANCE_URL}
|
||||
- RUNNER_REGISTRATION_TOKEN=${RUNNER_REGISTRATION_TOKEN}
|
||||
- RUNNER_NAME=${RUNNER_NAME}
|
||||
- RUNNER_LABELS=${RUNNER_LABELS}
|
||||
networks:
|
||||
- 1panel-network
|
||||
labels:
|
||||
createdBy: "Apps"
|
||||
|
||||
networks:
|
||||
1panel-network:
|
||||
external: true
|
||||
|
|
@ -0,0 +1,62 @@
|
|||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
echo "🚀 正在初始化 Forgejo Runner 所需目录..."
|
||||
|
||||
# 进入项目目录
|
||||
mkdir -p data
|
||||
cd data
|
||||
|
||||
## ----------------------------
|
||||
## Runner 数据目录及权限设置
|
||||
## ----------------------------
|
||||
|
||||
mkdir -p runner-data
|
||||
touch runner-data/.runner
|
||||
touch runner-data/config.yml
|
||||
mkdir -p runner-data/.cache
|
||||
|
||||
# 设置权限为 forgejo-runner 镜像中默认用户(UID 1000)
|
||||
chown -R 1000:1000 runner-data
|
||||
chmod 775 runner-data/.runner
|
||||
chmod 775 runner-data/.cache
|
||||
chmod g+s runner-data/.runner
|
||||
chmod g+s runner-data/.cache
|
||||
|
||||
## ----------------------------
|
||||
## Docker-in-Docker 数据目录
|
||||
## ----------------------------
|
||||
|
||||
mkdir -p dind-data
|
||||
echo "📦 已创建 ./data/dind-data 目录(用于持久化 dind 镜像和元数据)"
|
||||
|
||||
## ----------------------------
|
||||
## daemon.json 镜像加速配置
|
||||
## ----------------------------
|
||||
|
||||
if [ -f /etc/docker/daemon.json ]; then
|
||||
echo "📥 检测到宿主机的 /etc/docker/daemon.json,正在复制..."
|
||||
cp /etc/docker/daemon.json ./daemon.json
|
||||
else
|
||||
echo "📄 未检测到宿主机 daemon.json,正在生成默认镜像加速配置..."
|
||||
cat > ./daemon.json <<EOF
|
||||
{
|
||||
"registry-mirrors": [
|
||||
"https://docker.1panel.live",
|
||||
"https://docker.1ms.run"
|
||||
]
|
||||
}
|
||||
EOF
|
||||
fi
|
||||
|
||||
cd ..
|
||||
|
||||
# 设置 register.sh 可执行权限
|
||||
chmod +x ./scripts/register.sh
|
||||
|
||||
# 完成信息
|
||||
echo "✅ 初始化完成:"
|
||||
echo " - ./data/runner-data 已就绪并设置权限"
|
||||
echo " - ./data/dind-data 创建完毕(dind 镜像缓存目录)"
|
||||
echo " - ./data/daemon.json 已生成或复制"
|
||||
echo " - ./scripts/register.sh 设置为可执行文件"
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
# 等待 dockerd 可用
|
||||
echo "⏳ Waiting for Docker daemon on dind..."
|
||||
until curl -s http://dind:2375/_ping | grep -q "OK"; do
|
||||
sleep 1
|
||||
done
|
||||
echo "✅ Docker daemon is ready."
|
||||
|
||||
cd /data
|
||||
|
||||
if [ ! -s .runner ]; then
|
||||
echo ">>> Registering runner..."
|
||||
forgejo-runner register --no-interactive \
|
||||
--instance "$FORGEJO_INSTANCE_URL" \
|
||||
--token "$RUNNER_REGISTRATION_TOKEN" \
|
||||
--name "$RUNNER_NAME" \
|
||||
--labels "$RUNNER_LABELS"
|
||||
forgejo-runner generate-config > config.yml
|
||||
fi
|
||||
|
||||
echo ">>> Starting daemon..."
|
||||
exec forgejo-runner --config config.yml daemon
|
||||
|
|
@ -0,0 +1,68 @@
|
|||
# Forgejo Actions Runner
|
||||
|
||||
**Forgejo Actions Runner** 是 Forgejo 的官方运行器组件,用于执行 CI/CD 工作流中的各类任务。它与 Forgejo Actions 系统集成,支持本地或远程运行任务,帮助用户构建自动化 DevOps 流程。
|
||||
|
||||
> 该容器基于Dind,安全性更强,与宿主机完全独立,基本没有越权,适合组织使用
|
||||
|
||||
适合希望**完全自托管** CI/CD 流水线的个人或组织部署使用。
|
||||
|
||||
## ✨ 特性
|
||||
|
||||
- 与 Forgejo Actions 完全集成
|
||||
- 支持自定义容器或直接在主机运行
|
||||
- 多 Runner 支持并行执行
|
||||
- 支持 amd64 / arm64 等架构
|
||||
- 简单易用,部署轻量
|
||||
|
||||
## ⚙️ 快速开始(Docker 部署)
|
||||
|
||||
### 1. 启动 Forgejo 主服务(略)
|
||||
|
||||
确保 Forgejo 主程序已部署并启用了 Actions 功能。
|
||||
|
||||
### 2. 运行 Action Runner 容器
|
||||
|
||||
```bash
|
||||
docker run -d --name forgejo-runner \
|
||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||
-v /opt/runner:/data \
|
||||
codeberg.org/forgejo/runner:latest
|
||||
```
|
||||
|
||||
### 3. 初始化注册
|
||||
|
||||
首次运行后,进入容器进行注册:
|
||||
|
||||
```bash
|
||||
docker exec -it forgejo-runner forgejo-runner register
|
||||
```
|
||||
|
||||
你需要提供:
|
||||
|
||||
- **Forgejo 实例 URL**(例如 `https://git.example.com`)
|
||||
- **Runner Token**(从仓库或组织设置中获取)
|
||||
- **运行模式**(Docker / shell 等)
|
||||
- **标签**(可选,便于任务调度)
|
||||
|
||||
## 🔄 自动启动示例(Docker Compose)
|
||||
|
||||
```yaml
|
||||
version: '3'
|
||||
services:
|
||||
forgejo-runner:
|
||||
image: codeberg.org/forgejo/runner:latest
|
||||
container_name: forgejo-runner
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
- ./runner-data:/data
|
||||
restart: unless-stopped
|
||||
```
|
||||
|
||||
## 📘 文档与资源
|
||||
|
||||
- 项目主页:https://forgejo.org/docs/latest/admin/actions/
|
||||
- 源码仓库:https://code.forgejo.org/forgejo/runner
|
||||
|
||||
## 🧑🤝🧑 关于 Forgejo Runner
|
||||
|
||||
Forgejo Runner 是社区主导的 CI 执行器,致力于提供安全、可控、可扩展的构建环境。它是 Forgejo 构建完整 DevOps 生态的重要组成部分。
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
name: Forgejo Runner Docker in Docker
|
||||
tags:
|
||||
- DevOps
|
||||
title: Forgejo Actions 的 Runner 基于 Dind
|
||||
description: Forgejo Actions 的 Runner
|
||||
additionalProperties:
|
||||
key: forgejo-runner-dind
|
||||
name: Forgejo Runner Docker in Docker
|
||||
tags:
|
||||
- DevOps
|
||||
shortDescZh: Forgejo Actions 的 Runner
|
||||
shortDescEn: A runner for Forgejo based on Forgejo fork of act
|
||||
description:
|
||||
en: A runner for Forgejo based on Forgejo fork of act
|
||||
ja: act の Forgejo フォークに基づいた Forgejo 用ランナー
|
||||
ms: Penjalank untuk Forgejo berdasarkan fork Forgejo dari act
|
||||
pt-br: Um runner para Forgejo baseado no fork do Forgejo do act
|
||||
ru: Раннер для Forgejo на основе форка Forgejo от act
|
||||
ko: act의 Forgejo 포크를 기반으로 한 Forgejo용 러너
|
||||
zh-Hant: 基於 Forgejo fork 的 act 的 Forgejo 執行器
|
||||
zh: 基于 Forgejo fork 的 act 的 Forgejo 运行器
|
||||
type: tool
|
||||
crossVersionUpdate: true
|
||||
limit: 0
|
||||
recommend: 0
|
||||
website: https://forgejo.org/docs/latest/admin/actions/
|
||||
github: https://code.forgejo.org/forgejo/runner
|
||||
document: https://forgejo.org/docs/latest/admin/actions/
|
||||
architectures:
|
||||
- amd64
|
||||
- arm64
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 9.0 KiB |
|
|
@ -0,0 +1,67 @@
|
|||
additionalProperties:
|
||||
formFields:
|
||||
- default: http://1.2.3.4:3000
|
||||
edit: true
|
||||
envKey: FORGEJO_INSTANCE_URL
|
||||
labelEn: Forgejo Instance
|
||||
labelZh: Forgejo 实例
|
||||
required: true
|
||||
rule: paramExtUrl
|
||||
type: text
|
||||
label:
|
||||
en: Forgejo Instance
|
||||
ja: Forgejo インスタンス
|
||||
ms: Instans Forgejo
|
||||
pt-br: Instância Forgejo
|
||||
ru: Экземпляр Forgejo
|
||||
ko: Forgejo 인스턴스
|
||||
zh-Hant: Forgejo 實例
|
||||
zh: Forgejo 实例
|
||||
- default: '<registration_token>'
|
||||
edit: true
|
||||
envKey: RUNNER_REGISTRATION_TOKEN
|
||||
labelEn: Registration Token
|
||||
labelZh: Registration Token
|
||||
required: true
|
||||
type: text
|
||||
label:
|
||||
en: Registration Token
|
||||
ja: 登録トークン
|
||||
ms: Token Pendaftaran
|
||||
pt-br: Token de Registro
|
||||
ru: Токен регистрации
|
||||
ko: 등록 토큰
|
||||
zh-Hant: 註冊令牌
|
||||
zh: 注册令牌
|
||||
- default: '<runner_name>'
|
||||
edit: true
|
||||
envKey: RUNNER_NAME
|
||||
labelEn: Runner Name
|
||||
labelZh: Runner Name
|
||||
required: true
|
||||
type: text
|
||||
label:
|
||||
en: Runner Name
|
||||
ja: ランナー名
|
||||
ms: Nama Pelari
|
||||
pt-br: Nome do Runner
|
||||
ru: Имя бегуна
|
||||
ko: 러너 이름
|
||||
zh-Hant: 執行器名稱
|
||||
zh: 运行器名称
|
||||
- default: '<runner_labels>'
|
||||
edit: true
|
||||
envKey: RUNNER_LABELS
|
||||
labelEn: Runner Labels
|
||||
labelZh: Runner Labels
|
||||
required: true
|
||||
type: text
|
||||
label:
|
||||
en: Runner Labels
|
||||
ja: ランナータグ
|
||||
ms: Label Pelari
|
||||
pt-br: Rótulos do Runner
|
||||
ru: Метки бегуна
|
||||
ko: 러너 레이블
|
||||
zh-Hant: 執行器標籤
|
||||
zh: 运行器标签
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
services:
|
||||
forgejo_runner:
|
||||
image: code.forgejo.org/forgejo/runner:9.1.1
|
||||
container_name: ${CONTAINER_NAME:-forgejo-runner}
|
||||
restart: always
|
||||
user: root
|
||||
command: "/data/scripts/register.sh"
|
||||
volumes:
|
||||
- ./data:/data
|
||||
- ./scripts/register.sh:/data/scripts/register.sh:ro
|
||||
- /var/run/docker.sock:/var/run/docker.sock # 使用宿主机 Docker
|
||||
environment:
|
||||
- DOCKER_HOST=unix:///var/run/docker.sock # 指定宿主机 socket
|
||||
- FORGEJO_INSTANCE_URL=${FORGEJO_INSTANCE_URL}
|
||||
- RUNNER_REGISTRATION_TOKEN=${RUNNER_REGISTRATION_TOKEN}
|
||||
- RUNNER_NAME=${RUNNER_NAME}
|
||||
- RUNNER_LABELS=${RUNNER_LABELS}
|
||||
networks:
|
||||
- 1panel-network
|
||||
labels:
|
||||
createdBy: "Apps"
|
||||
|
||||
networks:
|
||||
1panel-network:
|
||||
external: true
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
# 创建数据目录并设置权限
|
||||
mkdir -p data
|
||||
touch data/.runner
|
||||
touch data/config.yml
|
||||
mkdir -p data/.cache
|
||||
|
||||
# 设置为 forgejo-runner 镜像中的默认非 root 用户
|
||||
chown -R 1000:1000 data
|
||||
chmod 775 data/.runner
|
||||
chmod 775 data/.cache
|
||||
chmod g+s data/.runner
|
||||
chmod g+s data/.cache
|
||||
|
||||
chmod +x ./scripts/register.sh
|
||||
|
||||
echo "✅ 初始化完成:"
|
||||
echo " - 已创建 ./data 并配置权限"
|
||||
echo " - 已创建 ./scripts/register.sh 并配置权限"
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
cd /data
|
||||
|
||||
if [ ! -s .runner ]; then
|
||||
echo ">>> Registering runner..."
|
||||
forgejo-runner register --no-interactive \
|
||||
--instance "$FORGEJO_INSTANCE_URL" \
|
||||
--token "$RUNNER_REGISTRATION_TOKEN" \
|
||||
--name "$RUNNER_NAME" \
|
||||
--labels "$RUNNER_LABELS"
|
||||
forgejo-runner generate-config > config.yml
|
||||
fi
|
||||
|
||||
echo ">>> Starting daemon..."
|
||||
exec forgejo-runner --config config.yml daemon
|
||||
|
|
@ -0,0 +1,66 @@
|
|||
# Forgejo Actions Runner
|
||||
|
||||
**Forgejo Actions Runner** 是 Forgejo 的官方运行器组件,用于执行 CI/CD 工作流中的各类任务。它与 Forgejo Actions 系统集成,支持本地或远程运行任务,帮助用户构建自动化 DevOps 流程。
|
||||
|
||||
适合希望**完全自托管** CI/CD 流水线的个人或组织部署使用。
|
||||
|
||||
## ✨ 特性
|
||||
|
||||
- 与 Forgejo Actions 完全集成
|
||||
- 支持自定义容器或直接在主机运行
|
||||
- 多 Runner 支持并行执行
|
||||
- 支持 amd64 / arm64 等架构
|
||||
- 简单易用,部署轻量
|
||||
|
||||
## ⚙️ 快速开始(Docker 部署)
|
||||
|
||||
### 1. 启动 Forgejo 主服务(略)
|
||||
|
||||
确保 Forgejo 主程序已部署并启用了 Actions 功能。
|
||||
|
||||
### 2. 运行 Action Runner 容器
|
||||
|
||||
```bash
|
||||
docker run -d --name forgejo-runner \
|
||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||
-v /opt/runner:/data \
|
||||
codeberg.org/forgejo/runner:latest
|
||||
```
|
||||
|
||||
### 3. 初始化注册
|
||||
|
||||
首次运行后,进入容器进行注册:
|
||||
|
||||
```bash
|
||||
docker exec -it forgejo-runner forgejo-runner register
|
||||
```
|
||||
|
||||
你需要提供:
|
||||
|
||||
- **Forgejo 实例 URL**(例如 `https://git.example.com`)
|
||||
- **Runner Token**(从仓库或组织设置中获取)
|
||||
- **运行模式**(Docker / shell 等)
|
||||
- **标签**(可选,便于任务调度)
|
||||
|
||||
## 🔄 自动启动示例(Docker Compose)
|
||||
|
||||
```yaml
|
||||
version: '3'
|
||||
services:
|
||||
forgejo-runner:
|
||||
image: codeberg.org/forgejo/runner:latest
|
||||
container_name: forgejo-runner
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
- ./runner-data:/data
|
||||
restart: unless-stopped
|
||||
```
|
||||
|
||||
## 📘 文档与资源
|
||||
|
||||
- 项目主页:https://forgejo.org/docs/latest/admin/actions/
|
||||
- 源码仓库:https://code.forgejo.org/forgejo/runner
|
||||
|
||||
## 🧑🤝🧑 关于 Forgejo Runner
|
||||
|
||||
Forgejo Runner 是社区主导的 CI 执行器,致力于提供安全、可控、可扩展的构建环境。它是 Forgejo 构建完整 DevOps 生态的重要组成部分。
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
name: Forgejo Runner
|
||||
tags:
|
||||
- DevOps
|
||||
title: Forgejo Actions 的 Runner
|
||||
description: Forgejo Actions 的 Runner
|
||||
additionalProperties:
|
||||
key: forgejo-runner
|
||||
name: Forgejo Runner
|
||||
tags:
|
||||
- DevOps
|
||||
shortDescZh: Forgejo Actions 的 Runner
|
||||
shortDescEn: A runner for Forgejo based on Forgejo fork of act
|
||||
description:
|
||||
en: A runner for Forgejo based on Forgejo fork of act
|
||||
ja: act の Forgejo フォークに基づいた Forgejo 用ランナー
|
||||
ms: Penjalank untuk Forgejo berdasarkan fork Forgejo dari act
|
||||
pt-br: Um runner para Forgejo baseado no fork do Forgejo do act
|
||||
ru: Раннер для Forgejo на основе форка Forgejo от act
|
||||
ko: act의 Forgejo 포크를 기반으로 한 Forgejo용 러너
|
||||
zh-Hant: 基於 Forgejo fork 的 act 的 Forgejo 執行器
|
||||
zh: 基于 Forgejo fork 的 act 的 Forgejo 运行器
|
||||
type: tool
|
||||
crossVersionUpdate: true
|
||||
limit: 0
|
||||
recommend: 0
|
||||
website: https://forgejo.org/docs/latest/admin/actions/
|
||||
github: https://code.forgejo.org/forgejo/runner
|
||||
document: https://forgejo.org/docs/latest/admin/actions/
|
||||
architectures:
|
||||
- amd64
|
||||
- arm64
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 9.0 KiB |
|
|
@ -0,0 +1,93 @@
|
|||
# Message Pusher
|
||||
|
||||
> 自托管消息推送服务,支持 Web UI + 多平台推送通道。
|
||||
|
||||
本项目使用 [songquanpeng/message-pusher](https://github.com/songquanpeng/message-pusher) 镜像通过 Docker Compose 快速部署,支持通过网页管理和 API 接口进行消息推送。
|
||||
|
||||
## ✨ 项目特点
|
||||
|
||||
- 支持 Telegram、Bark、企业微信、Server 酱等消息推送方式
|
||||
- 提供简洁易用的 Web UI 管理界面
|
||||
- 支持用户注册、Token 管理
|
||||
- 提供 RESTful API 接口,适合自动化集成
|
||||
|
||||
---
|
||||
|
||||
## 📦 快速部署
|
||||
|
||||
### 1. 拉取项目
|
||||
|
||||
```bash
|
||||
git clone https://github.com/your-username/message-pusher-docker.git
|
||||
cd message-pusher-docker
|
||||
~~~
|
||||
|
||||
### 2. 启动服务
|
||||
|
||||
```bash
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
启动成功后访问:
|
||||
|
||||
```
|
||||
http://localhost:3000
|
||||
```
|
||||
|
||||
若部署在服务器,请替换为服务器的 IP 或域名。
|
||||
|
||||
### 3. 默认配置说明
|
||||
|
||||
Docker Compose 配置中:
|
||||
|
||||
- **端口映射**:`3000:3000`
|
||||
- **数据挂载目录**:`./data:/data`
|
||||
- **时区设置**:`Asia/Shanghai`
|
||||
|
||||
------
|
||||
|
||||
## 🧾 Docker Compose 文件示例
|
||||
|
||||
```yaml
|
||||
version: '3'
|
||||
|
||||
services:
|
||||
message-pusher:
|
||||
image: songquanpeng/message-pusher
|
||||
container_name: message-pusher
|
||||
restart: always
|
||||
ports:
|
||||
- "3000:3000"
|
||||
environment:
|
||||
- TZ=Asia/Shanghai
|
||||
volumes:
|
||||
- ./data:/data
|
||||
```
|
||||
|
||||
------
|
||||
|
||||
## 🛠 更新与维护
|
||||
|
||||
更新镜像并重启服务:
|
||||
|
||||
```bash
|
||||
docker compose pull
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
------
|
||||
|
||||
## 🔗 官方链接
|
||||
|
||||
- 官方项目主页: https://github.com/songquanpeng/message-pusher
|
||||
- 在线体验地址: [https://push.sbs](https://push.sbs/)
|
||||
- Docker Hub 镜像: https://hub.docker.com/r/songquanpeng/message-pusher
|
||||
|
||||
------
|
||||
|
||||
## 📄 License
|
||||
|
||||
MIT License
|
||||
|
||||
由 [@songquanpeng](https://github.com/songquanpeng) 开发维护。
|
||||
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
name: Message-Pusher
|
||||
tags:
|
||||
- 实用工具
|
||||
title: 自托管消息推送服务
|
||||
description: 一款支持多平台的自托管消息推送服务,支持 Web UI 和 API 接口。
|
||||
additionalProperties:
|
||||
key: message-pusher
|
||||
name: Message-Pusher
|
||||
tags:
|
||||
- Tool
|
||||
shortDescZh: 一款支持多平台的自托管消息推送服务
|
||||
shortDescEn: A self-hosted multi-platform message pushing service
|
||||
type: tool
|
||||
crossVersionUpdate: true
|
||||
limit: 0
|
||||
recommend: 0
|
||||
website: https://github.com/songquanpeng/message-pusher
|
||||
github: https://github.com/songquanpeng/message-pusher
|
||||
document: https://github.com/songquanpeng/message-pusher#readme
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 14 KiB |
|
|
@ -0,0 +1,10 @@
|
|||
additionalProperties:
|
||||
formFields:
|
||||
- default: "23987"
|
||||
edit: true
|
||||
envKey: PANEL_APP_PORT_HTTP
|
||||
labelEn: Port
|
||||
labelZh: 端口
|
||||
required: true
|
||||
rule: paramPort
|
||||
type: number
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
services:
|
||||
message-pusher:
|
||||
container_name: ${CONTAINER_NAME}
|
||||
restart: always
|
||||
networks:
|
||||
- 1panel-network
|
||||
ports:
|
||||
- "${PANEL_APP_PORT_HTTP}:3000"
|
||||
image: justsong/message-pusher:v0.4.12
|
||||
volumes:
|
||||
- ./data:/data
|
||||
environment:
|
||||
- TZ=Asia/Shanghai
|
||||
labels:
|
||||
createdBy: "Apps"
|
||||
|
||||
networks:
|
||||
1panel-network:
|
||||
external: true
|
||||
|
|
@ -0,0 +1,133 @@
|
|||
additionalProperties:
|
||||
formFields:
|
||||
- default: 45963
|
||||
envKey: PANEL_APP_PORT_HTTP
|
||||
labelEn: HTTP Port
|
||||
labelZh: HTTP 端口
|
||||
label:
|
||||
en: HTTP Port
|
||||
ja: ポート
|
||||
ms: Port
|
||||
pt-br: Porta
|
||||
ru: Порт
|
||||
ko: 포트
|
||||
zh: HTTP 端口
|
||||
zh-Hant: HTTP 連接埠
|
||||
required: true
|
||||
rule: paramPort
|
||||
type: number
|
||||
|
||||
- default: ""
|
||||
envKey: SOCKS5_PROXY
|
||||
labelEn: SOCKS5 Proxy
|
||||
labelZh: SOCKS5 代理
|
||||
label:
|
||||
en: SOCKS5 Proxy
|
||||
ja: SOCKS5プロキシ
|
||||
ms: Proksi SOCKS5
|
||||
pt-br: Proxy SOCKS5
|
||||
ru: SOCKS5 прокси
|
||||
ko: SOCKS5 프록시
|
||||
zh: SOCKS5 代理
|
||||
zh-Hant: SOCKS5 代理
|
||||
required: false
|
||||
type: text
|
||||
|
||||
- default: ""
|
||||
envKey: HTTP_PROXY
|
||||
labelEn: HTTP Proxy
|
||||
labelZh: HTTP 代理
|
||||
label:
|
||||
en: HTTP Proxy
|
||||
ja: HTTPプロキシ
|
||||
ms: Proksi HTTP
|
||||
pt-br: Proxy HTTP
|
||||
ru: HTTP прокси
|
||||
ko: HTTP 프록시
|
||||
zh: HTTP 代理
|
||||
zh-Hant: HTTP 代理
|
||||
required: false
|
||||
type: text
|
||||
|
||||
- default: ""
|
||||
envKey: HTTPS_PROXY
|
||||
labelEn: HTTPS Proxy
|
||||
labelZh: HTTPS 代理
|
||||
label:
|
||||
en: HTTPS Proxy
|
||||
ja: HTTPSプロキシ
|
||||
ms: Proksi HTTPS
|
||||
pt-br: Proxy HTTPS
|
||||
ru: HTTPS прокси
|
||||
ko: HTTPS 프록시
|
||||
zh: HTTPS 代理
|
||||
zh-Hant: HTTPS 代理
|
||||
required: false
|
||||
type: text
|
||||
|
||||
- default: true
|
||||
envKey: CACHE_ENABLED
|
||||
required: true
|
||||
type: select
|
||||
label:
|
||||
en: Enable Cache
|
||||
ja: キャッシュを有効にする
|
||||
ms: Dayakan Cache
|
||||
pt-br: Habilitar Cache
|
||||
ru: Включить кэш
|
||||
ko: 캐시 활성화
|
||||
zh: 启用缓存
|
||||
zh-Hant: 啟用快取
|
||||
values:
|
||||
- label: 启用缓存
|
||||
value: "true"
|
||||
- label: 禁用缓存
|
||||
value: "false"
|
||||
|
||||
- default: "3600"
|
||||
envKey: CACHE_TTL
|
||||
labelEn: Cache TTL (seconds)
|
||||
labelZh: 缓存有效期(秒)
|
||||
label:
|
||||
en: Cache TTL (seconds)
|
||||
ja: キャッシュTTL(秒)
|
||||
ms: Cache TTL (saat)
|
||||
pt-br: TTL de Cache (segundos)
|
||||
ru: TTL кэша (сек)
|
||||
ko: 캐시 TTL(초)
|
||||
zh: 缓存有效期(秒)
|
||||
zh-Hant: 快取有效期(秒)
|
||||
required: true
|
||||
type: number
|
||||
|
||||
- default: "200"
|
||||
envKey: MAX_CONCURRENCY
|
||||
labelEn: Max Concurrency
|
||||
labelZh: 最大并发数
|
||||
label:
|
||||
en: Max Concurrency
|
||||
ja: 最大同時実行数
|
||||
ms: Keupayaan Serentak Maks
|
||||
pt-br: Concorrência Máxima
|
||||
ru: Макс. количество потоков
|
||||
ko: 최대 동시 실행 수
|
||||
zh: 最大并发数
|
||||
zh-Hant: 最大並行數
|
||||
required: true
|
||||
type: number
|
||||
|
||||
- default: "30"
|
||||
envKey: MAX_PAGES
|
||||
labelEn: Max Pages
|
||||
labelZh: 最大页面数
|
||||
label:
|
||||
en: Max Pages
|
||||
ja: 最大ページ数
|
||||
ms: Bilangan Halaman Maks
|
||||
pt-br: Páginas Máximas
|
||||
ru: Макс. количество страниц
|
||||
ko: 최대 페이지 수
|
||||
zh: 最大页面数
|
||||
zh-Hant: 最大頁數
|
||||
required: true
|
||||
type: number
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
services:
|
||||
pansou:
|
||||
image: willowgod/pansou-web:v1.0.2
|
||||
container_name: ${CONTAINER_NAME}
|
||||
restart: always
|
||||
labels:
|
||||
createdBy: "Apps"
|
||||
ports:
|
||||
- "${PANEL_APP_PORT_HTTP}:80"
|
||||
environment:
|
||||
SOCKS5_PROXY: ${SOCKS5_PROXY}
|
||||
HTTP_PROXY: ${HTTP_PROXY}
|
||||
HTTPS_PROXY: ${HTTPS_PROXY}
|
||||
CACHE_ENABLED: ${CACHE_ENABLED}
|
||||
CACHE_TTL: ${CACHE_TTL}
|
||||
MAX_CONCURRENCY: ${MAX_CONCURRENCY}
|
||||
MAX_PAGES: ${MAX_PAGES}
|
||||
volumes:
|
||||
- ./data/data:/app/data
|
||||
- ./data/logs:/app/logs
|
||||
networks:
|
||||
- 1panel-network
|
||||
|
||||
networks:
|
||||
1panel-network:
|
||||
external: true
|
||||
|
|
@ -0,0 +1,55 @@
|
|||
# PanSou 网盘搜索 API
|
||||
|
||||
PanSou 是一个高性能的网盘资源搜索 API 服务,支持 Telegram 搜索和自定义插件扩展,系统以性能和可扩展性为核心,支持并发搜索、结果智能排序和多网盘类型分类。
|
||||
|
||||
## ✨ 特性
|
||||
- **高性能搜索**:并发执行多个 Telegram 频道及插件搜索,显著提升搜索速度
|
||||
- **多网盘类型分类**:自动识别百度网盘、阿里云盘、夸克网盘等多种链接
|
||||
- **智能排序**:基于插件等级、时间新鲜度和关键词权重的综合排序
|
||||
- **异步插件系统**:支持“尽快响应,持续处理”的搜索模式
|
||||
- **二级缓存**:内存 + 磁盘分片缓存机制,大幅提升重复查询性能
|
||||
|
||||
## 🛠 支持的网盘类型
|
||||
百度网盘、阿里云盘、夸克网盘、天翼云盘、UC网盘、移动云盘、115网盘、PikPak、迅雷网盘、123网盘、磁力链接、电驴链接等。
|
||||
|
||||
## 🚀 快速开始
|
||||
|
||||
### 使用 Docker 部署(前后端一体)
|
||||
```bash
|
||||
docker run -d --name pansou -p 80:80 ghcr.io/fish2018/pansou-web
|
||||
```
|
||||
|
||||
### 使用 Docker Compose(推荐)
|
||||
|
||||
```bash
|
||||
curl -o docker-compose.yml https://raw.githubusercontent.com/fish2018/pansou-web/refs/heads/main/docker-compose.yml
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
### 仅后端 API
|
||||
|
||||
```bash
|
||||
docker run -d --name pansou -p 8888:8888 -v pansou-cache:/app/cache -e CHANNELS="tgsearchers2,xxx" ghcr.io/fish2018/pansou:latest
|
||||
```
|
||||
|
||||
## 📚 API 文档
|
||||
|
||||
### 搜索 API
|
||||
|
||||
- 接口:`/api/search`
|
||||
- 方法:`POST` / `GET`
|
||||
- 参数:
|
||||
- `kw`:搜索关键词
|
||||
- `channels`:搜索的频道
|
||||
- `cloud_types`:网盘类型过滤
|
||||
- 更多详见[项目文档](https://github.com/fish2018/pansou)
|
||||
|
||||
### 健康检查 API
|
||||
|
||||
- 接口:`/api/health`
|
||||
- 方法:`GET`
|
||||
|
||||
## 🔗 项目地址
|
||||
|
||||
- GitHub: https://github.com/fish2018/pansou
|
||||
- 文档: https://github.com/fish2018/pansou
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
name: PanSou
|
||||
tags:
|
||||
- 网盘
|
||||
- 搜索
|
||||
- 自托管
|
||||
title: 高性能网盘搜索 API 服务
|
||||
description: PanSou 是一个支持 Telegram 搜索和插件扩展的高性能网盘搜索 API 系统,支持多网盘类型分类、智能排序、异步插件扩展与二级缓存。
|
||||
additionalProperties:
|
||||
key: pansou
|
||||
name: PanSou
|
||||
tags:
|
||||
- WebSite
|
||||
- Tool
|
||||
shortDescZh: 高性能网盘搜索 API 服务
|
||||
shortDescEn: High-performance cloud drive search API service
|
||||
type: website
|
||||
crossVersionUpdate: true
|
||||
limit: 0
|
||||
website: https://github.com/fish2018/pansou
|
||||
github: https://github.com/fish2018/pansou
|
||||
document: https://github.com/fish2018/pansou
|
||||
description:
|
||||
en: High-performance cloud drive search API service supporting Telegram search and plugin extensions, with intelligent sorting and multi-cloud categorization.
|
||||
zh: 高性能网盘搜索 API 系统,支持 Telegram 搜索与插件扩展,具备智能排序和多网盘类型分类。
|
||||
zh-Hant: 高效能網盤搜索 API 系統,支援 Telegram 搜索與插件擴展,具有智能排序和多網盤分類。
|
||||
ja: Telegram検索とプラグイン拡張に対応した高性能クラウドドライブ検索APIシステムです。
|
||||
ms: Perkhidmatan API carian storan awan berprestasi tinggi yang menyokong carian Telegram dan peluasan pemalam.
|
||||
pt-br: Serviço de API de pesquisa de armazenamento em nuvem de alto desempenho com suporte a pesquisa no Telegram e extensões de plugins.
|
||||
ru: Высокопроизводительный API поиска по облачным хранилищам с поддержкой поиска в Telegram и расширений плагинов.
|
||||
ko: 텔레그램 검색과 플러그인 확장을 지원하는 고성능 클라우드 드라이브 검색 API 시스템입니다.
|
||||
architectures:
|
||||
- amd64
|
||||
- arm64
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 7.6 KiB |
Loading…
Reference in New Issue