最近因为工作的需要,公司与家里的电脑一些文件需要同步,但是又不想带U盘拷贝,上传百度云网盘,怕数据不安全,而且下载的速度也极其慢。所以就在自己的服务器上搭建一个私有云吧。选择的是Seafile
1、安装Docker
2、拉取seafile镜像
docker pull jenserat/seafile:latest
查看镜像:
docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
jenserat/seafile latest 35cb86bba448 5 months ago 305.5 MB
3、下载seafile脚本
jenserat/seafile镜像中包含了下载Seafile的脚本,可惜其文件托管在Amazon ECS上,国内无法正常访问。所以要自行下载脚本
- 新建文件夹
mkdir /root/seafile
- 下载脚本
wget http://seafile-downloads.oss-cn-shanghai.aliyuncs.com/seafile-server_6.2.2_x86-64.tar.gz
这个版本是6.2.2 64bit - 解压
tar -zxvf seafile-server_6.2.2_x86-64.tar.gz
4、配置
- 启动docker配置
docker run -t -i --rm -p 10001:10001 -p 12001:12001 -p 8000:8000 -p 8080:8080 -p 8082:8082 -v /root/seafile:/opt/seafile jenserat/seafile -- /bin/bash
- 进入docker容器后
cd /opt/seafile/seafile-server_6.2.2_x86-64
- 启动脚本
./setup-seafile.sh
然后按照各种提示配置,没有域名的写服务器IP地址, 端口用默认的 - 启动seafile文件管理引擎
./seafile.sh start
- 启动seafile网页服务
./seahub.sh start
seahub首次启动时会要求提供管理员邮箱及密码, 也是你之后上传文件的账号、密码
5、测试
现在用浏览器打开http://<youdomain_or_ip>:8000,看到登录页面说明配置完成了。输入exit退出并关闭当前容器
6、 总结
到这里seafile的配置已经完成啦,只是如果每次都要手动操作略显麻烦,所幸jenserat/seafile提供了自动调用启动脚本的机制,创建容器时定义autostart=true即可。
这次我们给容器取一个有意义的名字seafile,如果你想让通过80端口访问,将-p 8000:8000改为-p 80:8000就可以了。
- 启动seafile
docker run -d --name seafile -p 10001:10001 -p 12001:12001 -p 8000:8000 -p 8080:8080 -p 8082:8082 -v /root/seafile:/opt/seafile -e autostart=true jenserat/seafile
记得要挂载原来的文件哦(-v /root/seafile:/opt/seafile), 不然之前的配置就没了。