应用介绍
PanSou 是一款高性能的网盘资源搜索 API 与前端应用,支持聚合多个搜索来源(包括 Telegram 频道与可扩展的插件搜索),并提供结果分类与智能排序。其设计强调并发性能、可扩展性与缓存机制,适合部署在 NAS 环境,为家庭媒体中心提供统一的“资源检索入口”,再与 qBittorrent、Transmission、aria2 等下载器联动完成后续下载与归档。
PanSou 可通过 Docker 一键部署,官方提供后端 API 镜像与前端 Web 镜像:前端负责展示与交互,后端负责并发检索与聚合。典型部署在同一 NAS 主机内以 docker-compose 管理,或将后端运行在独立主机、前端通过环境变量指向后端服务。
安装说明
前提依赖
- NAS 已安装 Docker 与 docker-compose
- 准备持久化目录用于数据与日志(示例使用
./data与./logs) - 如需账号认证,启用后端的认证环境变量;如需公网访问,建议通过反向代理开启 HTTPS 与访问控制
安装配置
以下 docker-compose 同机部署前后端,端口可按需调整:
version: "3.8"
services:
pansou-api:
image: ghcr.io/fish2018/pansou:latest
container_name: pansou-api
restart: unless-stopped
ports:
- "8888:8888"
environment:
- AUTH_ENABLED=true
- AUTH_USERS=admin:changeMeStrong,user1:pass456
- AUTH_TOKEN_EXPIRY=24
volumes:
- ./data:/app/data
- ./logs:/app/logs
pansou-web:
image: ghcr.io/fish2018/pansou-web:latest
container_name: pansou-web
restart: unless-stopped
depends_on:
- pansou-api
ports:
- "17080:80"
environment:
- DOMAIN=localhost
- PANSOU_PORT=8888
- PANSOU_HOST=127.0.0.1
volumes:
- ./data:/app/data
- ./logs:/app/logs
说明与注意事项:
- 后端认证:
AUTH_ENABLED=true时启用登录认证;AUTH_USERS用用户名:密码逗号分隔配置多个用户,请更换为强口令 - 端口:后端默认 8888,前端默认 80(示例映射为宿主 17080);如使用反代,
DOMAIN替换为实际域名 - 持久化:
./data与./logs用于持久化数据与日志,确保宿主目录对容器可写 - 生产安全:建议通过 Nginx Proxy Manager/Traefik 反代前端,开启 HTTPS 与访问控制,将后端保持内网可见
可选:仅部署后端(无前端,仅供 API 或自用工具调用)
version: "3.8"
services:
pansou-api:
image: ghcr.io/fish2018/pansou:latest
container_name: pansou-api
restart: unless-stopped
ports:
- "8888:8888"
environment:
- AUTH_ENABLED=true
- AUTH_USERS=admin:changeMeStrong
- AUTH_TOKEN_EXPIRY=24
volumes:
- ./data:/app/data
- ./logs:/app/logs
使用说明
- 启动后访问
http://NAS_IP:17080打开前端界面,使用已配置的账号登录(如启用了认证) - 在搜索框输入关键词(影视/学习资料/软件等),查看聚合结果与网盘类型分类;支持多源并发检索
- 与下载器联动:将检索到的链接提交到 qBittorrent/Transmission/aria2 的 Web UI 或 API;也可保存到 NAS 监控目录,由自动化任务拉起下载
- 性能优化:根据 NAS 性能与并发需求,适当配置后端的缓存策略与插件,减少重复查询耗时
- 反向代理:为前端配置域名与证书,通过
DOMAIN、PANSOU_HOST、PANSOU_PORT正确指向后端;必要时在反代层增加访问限制
开源信息
- GitHub(后端):https://github.com/fish2018/pansou
- 前端镜像:ghcr.io/fish2018/pansou-web:latest
- 说明来源:参考项目 README 与部署示例(包含
docker-compose.yml、认证参数与前后端联动变量)