工作需要在单位和家里的不同电脑上同步指定文件夹及其内容。对比了一些解决方案,最终还是选择熟悉的seafile来做。
需要按照官方文档进行seafile的安装,选择官方推荐的docker方式快速部署。
由于网络因素,直接访问国外源非常慢甚至超时退出无法完成,所以我下面尝试替换成国内阿里云的源,实际体验速度提升非常明显。
- 1.使用yum安装依赖包
- 2.添加yum软件源后安装Docker
- 3.配置Docker国内镜像加速
- 4.使用docker pull拉取seafile镜像
- 5.使用docker run运行seafile服务
- 6.开启防火墙策略/安全组策略
1.使用yum安装依赖包
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
2.添加yum软件源后安装Docker
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install docker-ce docker-ce-cli containerd.io
#启动docker
systemctl start docker
3.配置Docker国内镜像加速
vi /etc/docker/daemon.json
镜像加速器地址: https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
打开以后你可以看见你的专属加速器地址xxxxxxxx.mirror.aliyuncs.com
将其配置到daemon.json文件中:
{ "registry-mirrors": ["https://xxxxxxxx.mirror.aliyuncs.com"] }
需重启docker服务:
systemctl daemon-reload
systemctl restart docker
4.使用docker pull拉取seafile镜像
[root@alfredzhao-ecs01 ~]# docker pull seafileltd/seafile
Using default tag: latest
latest: Pulling from seafileltd/seafile
1489501ea318: Pull complete
c197ac8352c5: Pull complete
Digest: sha256:f0d42312c8935973515213677619b3fed877c7276949ac18e01804565a21ba7e
Status: Downloaded newer image for seafileltd/seafile:latest
docker.io/seafileltd/seafile:latest
注意:这里如果没有上一步配置合理的registry-mirrors,速度就会非常慢。
5.使用docker run运行seafile服务
docker run -d --name seafile \
-e SEAFILE_SERVER_HOSTNAME=seafile.example.com \
-e SEAFILE_ADMIN_EMAIL=me@example.com \
-e SEAFILE_ADMIN_PASSWORD=your_password \
-v /opt/seafile-data:/shared \
-p 8000:8000 \
-p 8082:8082 \
seafileltd/seafile:latest
注意:这里端口的映射,早期文档给的是一个端口,而我们需要配置两个端口。服务器域名/邮箱/密码都按照真实情况设置即可。
6.开启防火墙策略/安全组策略
基本同上,根据实际需要修改创建seafile的参数即可,服务器域名可以去注册一个,如果没有,直接使用服务器的公网ip地址也可以。另外要检查服务器的防火墙设置是否打开了对应端口。
firewall-cmd --zone=public --add-port=8000/tcp --permanent
firewall-cmd --zone=public --add-port=8082/tcp --permanent
firewall-cmd --reload
注意:如果是ECS环境,要同时放开安全组策略对应端口的限制。
总结:最终我测试seafile在不同电脑之间同步指定文件夹,效果可以完全cover自己同步的需求。另外最大的感受是还没有太多的了解细节,就部署完成上线使用了,这主要得益于docker的优势。