惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

J
Java Code Geeks
M
MIT News - Artificial intelligence
D
Docker
S
SegmentFault 最新的问题
B
Blog
Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
博客园 - 【当耐特】
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
The GitHub Blog
The GitHub Blog
Y
Y Combinator Blog
腾讯CDC
阮一峰的网络日志
阮一峰的网络日志
U
Unit 42
C
Check Point Blog
GbyAI
GbyAI
美团技术团队
Recent Announcements
Recent Announcements
F
Fortinet All Blogs
量子位
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
Visual Studio Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
G
Google Developers Blog

夜行人

回家路上 第一期的直播演示项目 震动检测器 正能量 在线参观CodeLab Neverland 发布 CodeLab Adapter 3.3.1 DynamicTable 之 纸糊方向盘 CodeLab DynamicTable: 一个可实施的技术方案 CodeLab Insight 发布 Alpha 版 情人节 Home Assistant 周报 && IoT 周报 (02) Joplin: 关注隐私的 Evernote 开源替代软件 浏览器的未来与 Web 传感器 Home Assistant 周报 && IoT 周报 (01) 百宝箱(01) 论自由 介绍 WebThings Home Assistant 周报 && iot 周报 (00) 百宝箱(00) 毛姆读书心得 传世之作 周末徒步 CodeLab Adapter ❤️ Jupyter/Python 航班 躲雨 夏令营途中 [译]思想--作为一种技术 The future of coding 美国之行 三门问题的程序模拟
搭建私有文件存储服务
2015-09-08 · via 夜行人

公司最近准备搭建私有文件存储服务,主要的需求点在团队协作,文件共享和权限控制,我又有机会冒充系统管理员啦。

一直对seafile很感兴趣,给L演示后,他也觉得不错,于是开始搭建。

首选方案当然是用docker。一搜github找到它:docker-seafile

剩下的就是细节啦。

#安装seafile

1
2
3
4
5
6
7
8
9
:::text  
  sudo docker run -t -i \
  -p 10001:10001 \
  -p 12001:12001 \
  -p 8001:8000 \
  -p 8080:8080 \
  -p 8082:8082 \
  -v /srv/seafile:/opt/seafile \
  jenserat/seafile -- /bin/bash
  • mkdir seafile&cd seafilegit clone https://github.com/JensErat/docker-seafile.git
  • 在宿主机里 cd docker-seafile,./download-seafile.sh , sudo cp . /srv/seafile -R
  • 进入容器:/opt/seafile/seafile-server-4.3.2/setup-seafile.sh,回答相应问题
  • /opt/seafile/seafile-server-latest/seafile.sh start
  • /opt/seafile/seafile-server-latest/seahub.sh start
  • exit

#运行seafile

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
docker run -d \
  --name seafile \
  -p 10001:10001 \
  -p 12001:12001 \
  -p 8001:8000 \
  -p 8080:8080 \
  -p 8082:8082 \
  -v /srv/seafile:/opt/seafile \
  -e autostart=true \
  jenserat/seafile

#开机自启 加上--restart=no

#使用 访问ip:8001

#重新配置

1
2
3
4
5
6
进入到容器中
rm -rf /opt/seafile/ccnet
rm -rf  /opt/seafile/seafile-data
/opt/seafile/seafile-server-4.3.2/setup-seafile.sh
/opt/seafile/seafile-server-latest/seafile.sh restart
/opt/seafile/seafile-server-latest/seahub.sh restart

#定制开发(将其作为文件服务)

#桌面端以及移动端下载 https://www.seafile.com/download/

#接口调试 试了下缩略图功能:http://manual-cn.seafile.com/develop/web_api.html#get-thumbnail-image

  • 获取token:curl -d "username=MYUSERNAME&password=MYPASSWORD" http://MYSERVER/api2/auth-token/
  • 获取缩略图:curl -H "Authorization: Token MYTOKEN" http://MYSERVER/api2/repos/{repo_id}/thumbnail/?p=echarts5.jpeg&size=123 > thumbnail.png

其中repo_id进入具体资料库,从url中可以看到

#坑记录 由于文件服务器搭建在内网,偶尔也有外部访问的需求(主要是文件分类之类的工作,技术负责人/规范制定者们得经常出门在外,这个需求还是挺常见的),所以使用ngrok映射出去,由于文件相关的服务在8082端口,而ngrok只映射web server服务,所以外部可以操作网站,却无法查看/上传/下载文件。这与需求不矛盾: )

文章作者 种瓜

上次更新 2015-09-08