FilePizza(P2P文件传输工具)Docker部署指南
·
FilePizza(P2P文件传输工具)Docker部署指南
(适用于内网/本地环境,轻量高效)
一、前置环境
确保服务器已安装:
- Docker(版本≥20.0)
- Docker Compose(版本≥3.9)
验证命令:docker -v、docker-compose -v
二、部署步骤
步骤1:创建部署目录
# 创建主目录并进入
mkdir -p filepizza-deploy && cd filepizza-deploy
# 创建子目录(用于配置、证书、反向代理)
mkdir -p data config nginx/conf.d
步骤2:编写Docker Compose配置
创建docker-compose.yml文件:
version: '3.9'
services:
# FilePizza主服务
filepizza:
image: 【你的FilePizza镜像地址】 # 替换为实际镜像(自定义/公开镜像)
container_name: filepizza
volumes:
- ./config/:/config/
- ./data:/data # 持久化传输文件
environment:
- PORT=8080
- NODE_ENV=production
restart: always
networks:
- filepizza-net
logging:
driver: "json-file"
options:
max-size: "10m" # 日志单文件最大10MB
max-file: "3" # 最多保留3个日志文件
deploy:
resources:
limits:
cpus: '1'
memory: 512M
# Nginx反向代理(处理HTTPS)
nginx:
image: nginx:alpine
container_name: filepizza-nginx
ports:
- "【对外端口】:443" # 替换为实际端口(如8180:443)
volumes:
- ./nginx/conf.d:/etc/nginx/conf.d
- ./config/server.crt:/etc/nginx/ssl/server.crt
- ./config/server.key:/etc/nginx/ssl/server.key
depends_on:
- filepizza
networks:
- filepizza-net
restart: always
networks:
filepizza-net:
driver: bridge
步骤3:生成自签名SSL证书
(用于HTTPS安全访问,适配浏览器P2P权限)
- 在
config目录创建证书配置cert.conf:
[req]
default_bits = 2048
prompt = no
default_md = sha256
x509_extensions = v3_ca
distinguished_name = dn
[dn]
C = CN
O = Local
CN = 【你的服务IP/域名】 # 替换为实际访问地址
[v3_ca]
subjectAltName = @alt_names
keyUsage = digitalSignature, keyEncipherment
extendedKeyUsage = serverAuth
basicConstraints = CA:FALSE
[alt_names]
IP.1 = 【你的服务IP/域名】 # 与上方CN一致
- 生成证书(在
config目录执行):
cd config
openssl req -new -x509 -nodes -days 3650 -keyout server.key -out server.crt -config cert.conf
步骤4:配置Nginx反向代理
在nginx/conf.d目录创建default.conf:
server {
listen 443 ssl;
ssl_certificate /etc/nginx/ssl/server.crt;
ssl_certificate_key /etc/nginx/ssl/server.key;
location / {
proxy_pass http://filepizza:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
# 支持WebRTC P2P传输
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
步骤5:启动服务
# 回到部署主目录
cd ..
# 启动服务(后台运行)
docker-compose up -d
# 验证服务状态(显示Up即正常)
docker-compose ps
步骤6:浏览器信任证书
(解决“不安全”提示,启用文件下载)
- 访问
https://【你的服务IP/域名】:【对外端口】; - 点击地址栏“不安全”提示→打开证书详情;
- 导出证书(格式选
Base64编码ASCII,单一证书); - 进入浏览器“管理证书”→导入证书到“受信任的根证书颁发机构”;
- 重启浏览器,重新访问即可显示“安全”,测试上传/下载功能。
三、常见问题
- 下载失败:确认使用HTTPS访问,且证书已信任;
- 服务无响应:执行
docker-compose logs filepizza查看日志; - 端口冲突:修改
docker-compose.yml中Nginx的ports映射端口。
更多推荐
所有评论(0)