公司内部网盘分享方案。

目前开源的企业网盘方案有seafile,ownCloud

Seafile 是一款开源的企业云盘,注重可靠性和性能。支持 Windows, Mac, Linux, iOS, Android 全平台。支持文件同步或者直接挂载到本地访问。

一、安装

1、搭建seafile服务器

seafile服务器主要支持Linux系统,包括Debian,Ubuntu,Centos等,也支持Windows系统(版本更新有滞后,人数超过25人会卡)。同时也提供 Docker安装方式,更加轻松的部署和更新Seafile服务。

本文采用Docker的部署方式。

  • 配置文件:docker-compose.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
version: '3.4'
services:
seafile:
image: seafileltd/seafile:latest
volumes:
- ./shared:/shared
ports:
- 80:80
- 8000:8000
environment:
SEAFILE_SERVER_HOSTNAME: pan.xxx.com
SEAFILE_ADMIN_EMAIL:xxx@163.com
SEAFILE_ADMIN_PASSWORD: 123456

该配置文件将seafile的数据文件存储于当前目录的shared目录下,开放80和8000端口;环境变量设置了访问的主机IP或域名、设置了管理员账号和密码。

2、向Let’s encrypt申请SSL证书

添加环境变量,并且添加443端口。

1
2
SEAFILE_SERVER_LETSENCRYPT=true

这样完整的docker-compose.yml如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
version: '3'
services:
seafile:
image: seafileltd/seafile:latest
volumes:
- ./shared:/shared
ports:
- 80:80
- 443:443
- 8000:8000
environment:
SEAFILE_SERVER_LETSENCRYPT: "true"
SEAFILE_SERVER_HOSTNAME: pan1.cbbing.com
SEAFILE_ADMIN_EMAIL: cbbing@163.com
SEAFILE_ADMIN_PASSWORD: 12356789

3、支持在线编辑

onlyoffice 的 documentserver 镜像是提供在线编辑服务的,镜像内已包含了 nginx 服务器,支持 80 端口和 443 端口,如果有合法证书,我们可以使用 https 连接。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
git clone https://github.com/neroxps/Docker-Only-Office-Chinese-font.git
cd Docker-Only-Office-Chinese-font docker
build -t onlyoffice/chinese .
# http
docker run -itd -p 780:80 --name office --restart=always onlyoffice/chinese
# https
docker run -itd -p 7443:443 --name office --restart=always onlyoffice/chinese
  • conf/seahub_settings.py添加
1
2
3
4
5
6
7
8
9
10
# Enable Only Office
ENABLE_ONLYOFFICE = True
VERIFY_ONLYOFFICE_CERTIFICATE = False
ONLYOFFICE_APIJS_URL = 'http://pan.fofpower.com:780/web-apps/apps/api/documents/api.js'
ONLYOFFICE_FILE_EXTENSION = ('doc', 'docx', 'ppt', 'pptx', 'xls', 'xlsx', 'odt', 'fodt', 'odp', 'fodp', 'ods', 'fods')

https://bbs.seafile.com/t/topic/3430

二、使用

1、添加/导入用户

下载模板,填入用户信息批量添加用户,适合从企业邮箱通讯录中批量导入用户

2、新建群组

群组共享的资料库对组内所有成员可见,方便部门内部文档沟通。

3,多终端使用

seafile支持ios,android,同步盘,web端,实测体验不错。
需要注意的是,如果seafile服务器端做了域名映射,需要修改系统配置,否则ios和android手机端文件上传和下载会失败。


将SERVICE_URL的8000去掉,直接用80端口

1
SERVICE_URL: http://pan.xxxx.com

参考

https://www.kancloud.cn/kancloud/seafile-manual/51487
https://bbs.seafile.com/t/topic/3430