将ubuntu设置为NAS——15.安装seafile并集成onlyoffice
创作立场声明:本人小白,只是想通过本平台记录一些折腾以Ubuntu系统为主的NAS过程,同时方便自己查阅,还能赚点金币,于是就有了这个小系列。
前言
之前一直用Nextcloud,有网友提出Seafile也是不错的开源网盘应用,同样支持 Windows, Mac, Linux, iOS, Android等多个平台,于是就准备尝试一下,就有了这篇文章,顺便简单比较一下这2个软件。目前已知Seafile的优点是具备数据加密,安全性得到保障,Seafile 服务器内核由 C 语言编写,运行起来小巧快速,而且可以与之前搭建的seatable联动,作为在线表格文件存储使用。Seatable搭建可参见前面的《将ubuntu设置为NAS——13.搭建新型在线协同表格和信息管理工具Seatable》。
1、安装Seafile
用比较简单方式尝试docker-compose 安装最新版Seafile,可参考官方安装教程:用 Docker 部署 Seafile 服务。相关的docker-compose.yml官方下载地址在此。
version: '2.0'
services:
db:
image: mariadb:10.5
container_name: seafile-mysql
environment:
- MYSQL_ROOT_PASSWORD=password # 设置数据库root用户密码,请自行修改
- MYSQL_LOG_CONSOLE=true
volumes:
- /docker/seafile/mysql/db:/var/lib/mysql # 设置数据库本地映射地址,修改冒号前面内容为自己需要的路径.
networks:
- seafile-net
memcached:
image: memcached:1.5.6
container_name: seafile-memcached
entrypoint: memcached -m 256
networks:
- seafile-net
seafile:
image: seafileltd/seafile-mc:latest
container_name: seafile
ports:
- "8055:80"
# - "443:443" # If https is enabled, cancel the comment.
volumes:
- /docker/seafile/data:/shared # 设置seafile数据本地映射地址.
environment:
- DB_HOST=db
- DB_ROOT_PASSWD=password # 设置数据库root用户密码,请自行修改,与上面设置要一致
- TIME_ZONE=Asia/Shanghai # 时区设置,可选项,这里设置为亚洲上海的
- SEAFILE_ADMIN_EMAIL=me@example.com # 设置Seafile管理员邮箱, 默认是'me@example.com'.
- SEAFILE_ADMIN_PASSWORD=asecret # 设置Seafile管理员密码, 默认设置'asecret'.
- SEAFILE_SERVER_LETSENCRYPT=false # 是否开启ssl,已经自动配置LETSENCRYPT证书,默认是不开启.
- SEAFILE_SERVER_HOSTNAME=192.168.50.10:8055 # 自建服务器地址及端口.
depends_on:
- db
- memcached
networks:
- seafile-net
networks:
seafile-net:
对上安装设置简要说明一下:
端口:8055
数据及设置文件映射地址:/docker/seafile/data,请自行修改
数据库设置地址:/docker/seafile/mysql/db,请自行修改
数据库默认密码:password,请自行修改
seafile管理员默认账号:me@example.com,请自行修改
seafile管理员密码:asecret,请自行修改
SEAFILE_SERVER_HOSTNAME设置的地址为服务器地址和端口
默认未开启SSL,如果你需要,可以参考官网教程进行设置。
安装完成后,稍等几分钟,待服务器自动设置完成后,再浏览器打开设置服务器地址和端口。
用设置邮箱和密码登陆账号。
2、安装OnlyOffice
默认安装的Seafile是无法浏览和编辑Office文档,这里就需要安装OnlyOffice,使其具备在线浏览和编辑功能,还是尝试用docker方式安装OnlyOffice,只需要如下命令
sudo docker run -i -t -d -p 8777:80
-v /docker/onlyoffice/DocumentServer/logs:/var/log/onlyoffice
-v /docker/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data
-v /docker/onlyoffice/DocumentServer/db:/var/lib/postgresql
-v /docker/onlyoffice/DocumentServer/fonts:/usr/share/fonts onlyoffice/documentserver
简单介绍一下命令:
-p 8777:80 是指设置端口映射,外部服务器端口是8777,OnlyOffice容器内部端口是80,在外部使用请用8777端口,也可以修改为自己需要的端口号
-v /docker/onlyoffice/DocumentServer/logs:/var/log/onlyoffice -v /docker/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data -v /docker/onlyoffice/DocumentServer/db:/var/lib/postgresql -v /docker/onlyoffice/DocumentServer/fonts:/usr/share/fonts onlyoffice/documentserver
这些内容就是设置logs、data、db、fonts等文件夹地址映射,冒号前面是本地地址,可以根据自己需要设置修改,后面是容器内地址,请不要修改。
运行后,稍等几分钟,在浏览器打开 http://服务器地址:8777(映射端口号) ,如下提示就表明OnlyOffice服务器运行正常了。
3、Seafile集成OnlyOffice
参考:https://cloud.seafile.com/published/seafile-manual-cn/deploy/only_office.md
进入Seafile容器中,设置seahub_settings.py
docker exec -it seafile bash
vim conf/seahub_settings.py
添加以下配置信息到seahub_settings.py。
vim的编辑命令是先输入‘i’,再复制下面内容到配置文件最末尾。
# Enable Only Office
ENABLE_ONLYOFFICE = True
VERIFY_ONLYOFFICE_CERTIFICATE = False
ONLYOFFICE_APIJS_URL = 'http{s}://{your OnlyOffice server's domain or IP}/web-apps/apps/api/documents/api.js' #这里改成onlyoffice的地址+端口 http://192.168.50.10:8777
ONLYOFFICE_FILE_EXTENSION = ('doc', 'docx', 'ppt', 'pptx', 'xls', 'xlsx', 'odt', 'fodt', 'odp', 'fodp', 'ods', 'fods')
ONLYOFFICE_EDIT_FILE_EXTENSION = ('doc','docx','pptx','xls','xlsx')
如下图
按一下esc键,切换模式后,输入:wq退出vim编辑器,再exit命令退出容器,然后重启Seafile服务
exit
docker restart seafile
当您点击一个Office文档您应该会看到一个新的预览页面。
还有个错误可能需要设置一下,在Seafile设置界面选择“系统管理”,选择其中设置,修改SERVICE_URL为本地服务器地址和端口号,如图所示。
4、安装中可能出现问题
1)Seafile设定的网址无法打开,可能需要在等待几分钟,如果一直无法打开,可以用如下命令查看错误日志
docker logs seafile
2)其他错误可以根据日志提示,查看尝试解决问题,或者在论坛求助
本人在搭建过程中,也出现了无法打开seafile网页的问题,提示数据库无法连接,后来不断尝试,重新删除本地映射所有文件(包括数据库和Seafile数据文件)重新删除容器,重新安装Seafile才成功。
3)OnlyOffice集成失败,无法正常打开和编辑Office文件。后来继续排查,发现在修改seahub_settings.py文件时,未将OnlyOffice的服务器地址进行指定,只是复制了'http{s}://{your OnlyOffice server's domain or IP}/web-apps/apps/api/documents/api.js'这段代码,没有将其中your OnlyOffice server's domain or IP改成服务器真实地址和端口,请大家吸取教训。
5、手机客户端
手机客户端和PC客户端的下载地址在官网,下载和使用都挺方便的,功能上也不复杂,这里就简单介绍一下手机客户端,PC端使用上大同小异。
手机端不能选择同步的文件夹,目前只能选择照片自动上传,PC端可以选择任意文件与服务器同步。
总结
seafile安装不算很复杂,其手机客户端使用和PC端使用上也很方便。与Nextcloud比较,作为个人不严谨的使用感受有如下优缺点。
优点:1、服务器保存数据加密,安全性可靠;
2、服务器相对Nextcloud资源占用不高,速度会快一点,尤其是图片多了之后的打开和预览速度快点;
3、可以实现与Seatable关联使用。
缺点:1、数据加密是优点也是缺点,相对数据备份恢复就显得复杂了,nextcloud服务器数据是原文件保存,就算服务器挂了,可以直接导出原始数据,而seafile不行;
2、Seafile服务器在我使用过程中,出现不正常关机导致服务挂掉的问题,之后的排查导致我只能重装,而Nextcloud服务如果挂了,由于数据是不加密的,即使重装恢复数据也很方便;
3、Nextcloud可以安装众多插件,功能选择性比较多;
4、手机端功能相对简单了点,不能选择性同步手机数据。
后记
欢迎大家查阅前期《将ubuntu设置为NAS》相关文章,可以关注、点赞、打赏和交流评论。
将ubuntu设置为NAS——1. Transmission-daemon安装
将ubuntu设置为NAS——3. 私人网盘nextcloud安装(上)
将ubuntu设置为NAS——3. 私人网盘nextcloud安装(中)
将ubuntu设置为NAS——5. docker与docker-compose的安装
将ubuntu设置为NAS——6. 私人网盘nextcloud安装(下)(docker下安装nextcloud)
将ubuntu设置为NAS——7. 私人网盘nextcloud升级
将ubuntu设置为NAS——8. nextcloud集成onlyoffice在线协同办公软件
将ubuntu设置为NAS——9. 远程命令行及PuTTY、WinScp与手机端Termux使用
将ubuntu设置为NAS——10. 虚拟机KVM及软路由LEDE安装
将ubuntu设置为NAS——11. docker可视化管理工具portainer安装与使用
将ubuntu设置为NAS——12.使用portainer安装为知笔记及为知笔
值友2054913020
校验提示文案
东皓雪
校验提示文案
El-Conca
校验提示文案
若星汉的天空
我的感受是seafile比nextcloud各方面响应速度都快,而且稳定性好像更好一点,除了数据分块存储不方便外,其他都还能接受
校验提示文案
万千11000
校验提示文案
ashhell
校验提示文案
疯狂的蜂鸟
校验提示文案
值友6216321565
校验提示文案
值友6216321565
校验提示文案
东皓雪
校验提示文案
疯狂的蜂鸟
校验提示文案
值友2054913020
校验提示文案
ashhell
校验提示文案
万千11000
校验提示文案
若星汉的天空
我的感受是seafile比nextcloud各方面响应速度都快,而且稳定性好像更好一点,除了数据分块存储不方便外,其他都还能接受
校验提示文案
El-Conca
校验提示文案