# docker-pansou
**Repository Path**: meimolihan/pansou
## Basic Information
- **Project Name**: docker-pansou
- **Description**: pansou 网盘搜索
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 2
- **Forks**: 1
- **Created**: 2025-08-10
- **Last Updated**: 2026-04-21
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 🐳 Docker 部署 Pansou 网盘搜索

## 📋 目录导航
- [🎯 项目简介](#project-intro)
- [🛠️ 核心特性](#features)
- [🐳 一、Docker 部署 Pansou](#deploy)
- [1. 创建部署目录和 `docker-compose.yml` 文件 📁](#deploy-setup)
- [2. 拉取镜像并启动容器 🚀](#deploy-start)
- [🚀 二、使用 Pansou](#usage)
- [1. 访问 Web 界面 🌐](#usage-access)
- [2. 基本搜索操作 🔍](#usage-search)
- [🌐 三、Nginx 反向代理配置](#nginx)
- [1. 创建 Nginx 配置文件 🔧](#nginx-config)
- [2. 测试并重载 Nginx 🔄](#nginx-reload)
- [🔧 四、容器维护命令](#maintenance)
- [1. Docker Compose 命令 🐳](#docker-compose)
- [2. Docker 容器命令 📦](#docker)
- [3. Docker 镜像管理 📀](#docker-images)
## 🎯 项目简介
**Pansou** 是一个高性能的网盘资源搜索 API 服务,支持 TG 搜索和自定义插件搜索。通过 Docker 部署,可以快速搭建个人或团队使用的文件搜索服务。🌟
**🔗 原项目仓库**: [https://github.com/fish2018/pansou](https://github.com/fish2018/pansou)
## 🛠️ 核心特性
| 特性类别 | 功能描述 | 优势 |
| ---------------- | -------------------------------------------------------- | ---------------------------------------------- |
| **🔍 高性能搜索** | 采用并发执行多个频道及异步插件搜索的方式 | 显著提升搜索速度,高效处理并发任务 |
| **📁 多网盘支持** | 支持百度网盘、阿里云盘、夸克网盘、天翼云盘等主流网盘 | 统一访问多个网盘资源,自动识别并按类型分类 |
| **🧠 智能排序** | 基于插件等级、时间新鲜度和优先关键词的多维度综合排序算法 | 让优质、新鲜且符合需求的资源优先展示 |
| **🔌 插件系统** | 支持通过插件扩展搜索来源,采用异步搜索模式 | 灵活扩展搜索源,解决某些搜索源响应时间长的问题 |
| **💾 二级缓存** | 运用分片内存 + 分片磁盘缓存机制 | 提升重复查询速度和并发性能 |
| **🐳 容器化部署** | Docker 集成,前后端一键启动 | 开箱即用,部署简单快捷 |
## 🐳 一、Docker 部署 Pansou
### 1. 创建部署目录和 `docker-compose.yml` 文件 📁
```bash
mkdir -p /vol1/1000/compose/pansou && cd $_ && \
cat > docker-compose.yml <<'EOF'
services:
pansou:
image: ghcr.io/fish2018/pansou-web:latest
container_name: pansou
restart: unless-stopped
ports:
- "8110:80" # 🌐 映射容器端口到主机
volumes:
- ./data:/app/data # 💾 数据持久化
- ./logs:/app/logs # 📝 日志目录
environment:
- TZ=Asia/Shanghai # ⏰ 时区设置
- DOMAIN=localhost # 🌐 域名设置
- PANSOU_PORT=8110 # 🚀 服务端口
- PANSOU_HOST=0.0.0.0 # 🔧 绑定地址
# - SOCKS5_PROXY=socks5://127.0.0.1:7890 # 🔌 代理设置(可选)
# - HTTP_PROXY=http://127.0.0.1:7890 # 🌐 HTTP代理(可选)
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8110/api/health"]
interval: 30s
timeout: 10s
retries: 3
volumes:
data:
driver: local
EOF
```
### 2. 拉取镜像并启动容器 🚀
```bash
docker-compose up -d
```
## 🚀 二、使用 Pansou
### 1. 访问 Web 界面 🌐
部署完成后,通过以下方式访问:
- **本地访问**: `http://localhost:8110`
- **域名访问**: `https://pansou.example.com`(配置反向代理后)
### 2. 基本搜索操作 🔍
| 操作 | 说明 | 示例 |
| ---------------- | ---------------------------------- | ------------------------------ |
| **🔍 关键词搜索** | 在搜索框中输入想要查找的资源关键词 | "电影名称"、"软件名称"等 |
| **📁 结果筛选** | 按网盘类型筛选搜索结果 | 百度网盘、阿里云盘、夸克网盘等 |
| **🔗 链接访问** | 点击搜索结果中的链接访问资源 | 自动显示提取码(如有) |
| **📊 状态查看** | 查看系统状态和插件运行情况 | 通过状态界面监控系统健康度 |
## 🌐 三、Nginx 反向代理配置
> **访问地址示例:**
### 1. 创建 Nginx 配置文件 🔧
```bash
mkdir -p /etc/nginx/conf.d && \
cat > /etc/nginx/conf.d/pansou.conf <<'EOF'
server {
listen 443 ssl;
listen [::]:443 ssl;
http2 on;
server_name pansou.example.com; # 🌐 请替换为您的实际域名
# SSL 证书配置
ssl_certificate /etc/nginx/ssl/cert.pem;
ssl_certificate_key /etc/nginx/ssl/key.pem;
# TLS 安全配置
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers off;
# 安全响应头
add_header Strict-Transport-Security "max-age=31536000" always;
add_header X-Content-Type-Options nosniff always;
add_header X-Frame-Options SAMEORIGIN always;
add_header X-XSS-Protection "1; mode=block";
# 反向代理配置
location / {
proxy_pass http://localhost:8110;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# WebSocket 支持
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
# 超时设置
proxy_connect_timeout 300s;
proxy_send_timeout 300s;
proxy_read_timeout 300s;
}
# 错误页面
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
internal;
}
}
EOF
```
### 2. 测试并重载 Nginx 🔄
```bash
sudo nginx -t && sudo systemctl reload nginx
```
## 🔧 四、容器维护命令
### 1. Docker Compose 命令 🐳
```bash
# 进入项目目录(请替换为您的实际目录)
cd /path/to/your/project
# 停止并删除容器
docker-compose down
# 拉取最新镜像
docker-compose pull
# 启动容器
docker-compose up -d
# 仅启动指定服务(请替换 为实际服务名)
docker-compose up -d
# 查看服务状态
docker-compose ps
# 查看服务日志
docker-compose logs
# 跟踪服务日志
docker-compose logs -f
# 查看指定服务日志(请替换 为实际服务名)
docker-compose logs
# 完整升级流程
docker-compose down && \
docker-compose pull && \
docker-compose up -d && \
docker image prune -f
```
### 2. Docker 容器命令 📦
```bash
# 查看所有容器名称
docker ps -a --format "{{.Names}}"
# 查看运行中容器
docker ps
# 停止/启动/重启容器(请替换 为实际容器名)
docker stop # 停止容器
docker start # 启动容器
docker restart # 重启容器
# 删除容器
docker rm # 删除已停止容器
docker rm -f # 强制删除运行中容器
# 进入容器Shell
docker exec -it sh # 使用sh进入容器
docker exec -it bash # 使用bash进入容器
# 以root身份进入容器
docker exec -u 0 -it sh
# 在容器中执行命令
docker exec ls -la
# 查看容器详情和资源使用
docker inspect # 查看详细配置
docker stats # 实时资源监控
## 容器日志管理
docker logs # 查看日志
docker logs -f # 实时跟踪日志
docker logs --tail 100 # 查看最后100行
docker logs -t # 带时间戳的日志
# 健康检查
docker inspect --format='{{.State.Health.Status}}' pansou
```
### 3. Docker 镜像管理 📀
```bash
docker images # 列出所有镜像
docker rmi # 删除指定镜像(请替换为实际镜像名和标签)
docker image prune -f # 清理悬空镜像
docker image prune -a -f # 清理所有未使用镜像
```