前言
SnapDrop
是一个基于WebRTC
接口来实现提供局域网内跨平台传输文件和信息服务的开源项目,基于GNU 3.0
协议在GitHub
开放源代码。
Github链接
本文是笔者在自己搭建过程中踩了些坑从而产生了把这些坑记录下来为后来人更加方便使用而写。
1. 环境部署
为了方便,直接Docker
(其实手动也行,但要稍微麻烦些)。
需要Docker
环境以及docker-compose
。
Docker安装
官方一键脚本
curl -sSL https://get.docker.com/ | sh
systemctl start docker
systemctl enable docker
docker-compose安装
手动下载二进制
国外机(能直连Github的国内机亦可)
curl -L https://github.com/docker/compose/releases/download/$(curl -sL https://api.github.com/repos/docker/compose/releases | jq -r ".[0].name")/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
国内机
curl -L https://git.asoulrelay.workers.dev/docker/compose/releases/download/$(curl -sL https://gitapi.asoulrelay.workers.dev/repos/docker/compose/releases | jq -r ".[0].name")/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
PIP安装
pip install docker-compose
2.开始搭建
① 克隆项目
国外机
git clone https://github.com/RobinLinus/snapdrop.git
国内机
git clone https://git.asoulrelay.workers.dev/RobinLinus/snapdrop.git
②进入目录并修改权限
对,没错,原版Docker
脚本年久失修,需要自己手动新建文件夹并给予权限等操作.
#进入目录
cd snapdrop
#新建文件夹
mkdir /server/node_modules
#给予权限
chmod -R 777 ./server
#进行部署
#如果需要修改端口等信息或者是需要域名反代就在修改之后再运行下方代码
docker-compose up -d
3.域名配置
我是使用宝塔为了方便,nginx
的配置也不复杂,大概就是在默认配置文件中加入以下反代代码即可。
以反代12345
端口为例子
#PROXY-START/
location /
{
proxy_pass https://127.0.0.1:12345;
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 REMOTE-HOST $remote_addr;
proxy_set_header Connection "upgrade";
proxy_set_header Upgrade $http_upgrade;
proxy_set_header X-Forwarded-for $remote_addr;
add_header X-Cache $upstream_cache_status;
#Set Nginx Cache
add_header Cache-Control no-cache;
}
#PROXY-END/
同时需要修改./docker/fqdn.env
为
FQDN=你的域名(无http/https前缀)
然后进行部署即可。
至于套CDN
咱也没试过,反正丢国内机上的(