多端同步神器,自建云盘天花板?使用极空间部署企业级私有网盘『Seafile』

哈喽小伙伴们好,我是Stark-C~

最近有小伙伴让我不要总是写NAS的个人家庭使用场景玩法,也可以考虑分享一些企业办公场景的优秀套件和教程。我觉得很有道理,毕竟NAS作为一台小型服务器,它强大的存储和数据处理能力其实在企业办公场景中还是有着很实用的价值与广阔的应用空间。

所以今天就为大家安排一个企业级私有网盘『Seafile』的NAS部署教程,这是一款功能强大、安全可靠且部署灵活的开源云存储系统,可以完美地融入企业的 IT 架构,满足团队协作、文件共享、数据备份以及知识管理等多方面需求。

话不多说,开始~

关于Seafile

🔺Seafile是一个由国内团队开发的开源企业私有系统,专注于隐私保护和团队协作功能。它以资料库形式组织文件,为企业提供私有云环境下的网盘解决方案,支持文件同步、共享、版本控制等功能,满足企业办公场景的文件集中管理、多终端访问、共享协作等多种需求。

Seafile全平台客户端支持,包括Windows、Mac、Linux、iOS、Android等多平台,同时它还分社区版和企业版,社区版免费,企业版收费,两者在功能支持上有所不同,具体的可以去项目官网自行查阅。

项目Github主页:https://github.com/haiwen/seafile

项目官网:https://www.seafile.com/home/

PS:官网也有相关的使用和部署教程,建议大家在看本篇教程的同时,结合官网一起学习~

👑项目主要亮点(摘自官网):

  • 💪全面的云盘功能:多种文件格式在线查看和编辑/全平台客户端覆盖/好用高效的文件同步功能

  • 👮‍♀️精细的权限控制:支持读写、只读、仅在线查看等多种共享权限/可以层次化精细控制子目录权限/支持文件外链的精细化访问权限控制

  • 👐内置 SeaDoc - 高效在线协同文档:实时多人协作编辑/丰富的格式,支持嵌入视频、画图、公式等多种元素/支持 Markdown 快捷键

  • 👩‍🎓‍内置 Wiki 扩展 - 知识管理好帮手:支持协同编辑和构建知识库/支持丰富的格式和嵌入元素/界面美观简洁

Seafile部署

Seafile NAS端的部署虽说都是采用Docker的方式,但是根据版本的不同,分为两种方案:

方案一:SSH终端命令部署(最新版本):

🔺先在NAS文件管理器的任意位置新建一个Seafile的文件夹,我这里演示的是直接在根目录下新建的。

🔺接着打开极空间NAS的“Docker”应用,点击【Compose】 > 【新增项目】。

🔺然后直接点“查询路径”。

🔺选择刚刚新建的Seafile文件夹,将它的路径复制下来,最好记在电脑上的文本文档中。

🔺接着打开“系统设置--远程协助/SSH--SSH”,将SSH开启之后,记下局域网IP和端口。

🔺这里你需要用到一个SSH终端工具连接极空间,比如常见的PuTTY,Xshell,我个人使用的是FinalShell,至于怎么使用这里不赘述,不会的建议提前做功课,如果做功课也不会建议直接退出本篇教程,接下来的操作也不适用于你~

连接极空间成功之后需要先输入命令“sudo -i”提升到管理员权限,之后会让我们输入极空间NAS的登录密码,输入密码界面不会显示,我们只管输入,完成后直接回车即可,输入之前记得输入法设置正确!

🔺提升到管理员权限会在前面显示“root”字样,这个时候依次输入以下五个命令:

# 进入Seafile目录
cd /tmp/zfsv3/sata11/xxxxxxxxxxx/data/Seafile
​
# 下载环境变量配置文件,并将其保存为 .env
wget -O .env https://manual.seafile.com/13.0/repo/docker/ce/env
​
# 在当前目录下下载 SeaDoc 服务的Docker Compose文件
wget https://manual.seafile.com/13.0/repo/docker/ce/seafile-server.yml
​
# 在当前目录下下载 Seafile 主服务器的Docker Compose文件
wget https://manual.seafile.com/13.0/repo/docker/seadoc.yml
​
# 在当前目录下下载 Caddy 服务器的Docker Compose文件
wget https://manual.seafile.com/13.0/repo/docker/caddy.yml

再次强调以上五个命令是依次执行,每完成一个命令在进行下一个,整个过程还是非常快的,一般都在数秒内就完成了。

🔺然后回到NAS端(SSH终端工具不要退出了!),打开Docker目录下的Seafile文件夹,可以看到已经包括3个yml文件和一个“.env”配置文件,先直接打开“.env”配置文件。

🔺配置文件需要根据自己的实际情况改动,主要为以下几处:

# SEAFILE_SERVER_HOSTNAME
服务器的主机名或域名,填写NAS的IP和端口号,端口号需要和服务器容器一致
​
# TIME_ZONE
时区,国内直接填“Asia/Shanghai”
​
# JWT
JWT 私钥,需要一个长度不小于 32 个字符的随机字符串,在线生成即可
​
# SEAFILE_MYSQL_DB_PASSWORD
MySQL  seafile用户密码,随意设置
​
# REDIS_PASSWORD
Redis 服务密码,随意设置
​
# INIT_SEAFILE_ADMIN_EMAIL
初始化管理员用户名邮箱,随意设置
​
# INIT_SEAFILE_ADMIN_PASSWORD
初始化管理员密码,随意设置

我反正改动就就是上面这些,至于其它的在官网也有详细说明,有需要的自行更改,改完之后别忘记点击右上角“保存”按钮!

🔺同样的方式打开“caddy.yml”文件,将80映射的端口改成本地不冲突的其它端口,同时将443端口删掉(我这里没删只是为了展示出来,因为我们NAS后期可以配置反向代理,也用不着443端口),改完之后同样记得右上角“保存”。

🔺还需要打开“seafile-server.yml”,也需要将80映射的端口改一下,之后“保存”。

🔺这个时候在回到SSH终端工具这边,输入命令“docker compose up -d”,等待项目部署完成即可。该项目有总共会有5个容器联动。

🔺回到极空间NAS这边,然后打开Docker管理器,可以看到5个容器都正常启动了,打开seafile容器的“远程访问”。

img

🔺可以正常打开,就说明没有问题。

方案二:Docker Compose一键部署(Seafile Docker 12.0之前的版本):

🔺先在文件管理器的Docker目录新建一个pandawiki的文件夹,然后在该文件夹下再建mysql,seafile两个子文件夹用于相关数据的持久化存储。

🔺接着打开极空间NAS的“Docker”应用,点击【Compose】 > 【新增项目】。

🔺在新增项目页面自定义项目名称,输入以下 Docker Compose 配置信息后点“创建”按钮:

services:
  db:
    image: mariadb:10.11
    container_name: seafile-mysql
    environment:
      - MYSQL_ROOT_PASSWORD=123456
      - MYSQL_LOG_CONSOLE=true
    volumes:
      - ./Docker/seafile/mysql:/var/lib/mysql  # 映射mysql子文件夹
    networks:
      - seafile-net
​
  memcached:
    image: memcached:1.6.18
    container_name: seafile-memcached
    entrypoint: memcached -m 256
    networks:
      - seafile-net
​
  seafile:
    image: seafileltd/seafile-mc:11.0-latest
    container_name: seafile
    ports:
      - "8715:80"    # 项目Web页面打开端口,冒号前面请勿本地冲突
    volumes:
      - ./Docker/seafile/seafile:/shared  # 映射seafile子文件夹
    environment:
      - DB_HOST=db
      - DB_ROOT_PASSWD=123456
      - TIME_ZONE=Asia/Shanghai
      - SEAFILE_ADMIN_EMAIL=stark # 管理员账户
      - SEAFILE_ADMIN_PASSWORD=123456 # 管理员密码
      - SEAFILE_SERVER_LETSENCRYPT=false
      - SEAFILE_SERVER_HOSTNAME=192.168.50.45 # NAS IP&域名
    depends_on:
      - db
      - memcached
    networks:
      - seafile-net
​
networks:
  seafile-net:

以上代码看似很复杂,其实需要修改的地方就是我中文注释的地方,其它的均保持默认即可。镜像的拉取需要自行解决网络问题,粘贴到自己的NAS这边之前建议使用AI工具优化一下,以防止格式问题造成的部署失败。

顺便说一下,volumes映射的路径需要在当前界面使用“查询路径”查找到真实路径直接复制粘贴就可以了,个人觉得极空间这里对于新手小白已经是相当友好的操作了。

🔺完成以后就可以看到该项目有3个容器正常“运行中”,预计要等一分钟左右的时间初始化数据库,然后就可以直接使用了。

使用体验

前面的两种方案如果只是个人使用个人还是推荐第二种方案,部署起来相对简单很多,维护也很方面,所以接下来的演示我就以第二种方案来展示吧~

🔺浏览器输入【IP:端口号】就能打开 Seafile 界面了,输入刚才部署时候的账号和密码,点击“登录”按钮即可。

🔺顺利的进入 Seafile 主界面。

🔺不过为了让它顺利的上传或者下载,我们还需要一些设置。点开右上角的“系统管理”。

🔺将“设置”选项中的Service_URL和FILE_SERVER_ROOT修改成自己的NAS IP:端口号就可以了。

🔺回到主页上传一个文件试试,完全没有任何问题。

🔺我这里上传的一个Markdown文件,也可以顺利打开。

🔺反之,下载也是没有问题的。

🔺然后同步也很简单,在官网下载对应的桌面挂载客户端,我这里以Windows客户端为例。

🔺首次安装会让我们选择本地电脑上的一个文件夹用作下载资料库。

🔺然后在添加账号这里,云盘地址其实就是极空间NAS的IP:端口号,用户名和密码就是我们设定的,完成之后直接登录。

🔺客户端界面还是很不错的,有种QQ的既视感,此时想要同步就可以直接在界面这里操作就可以了。

Seafile的更多功能我就不在继续演示了,有需要的小伙伴建议还是自己部署下来之后自己对着官方教程慢慢挖掘吧~

最后

总的来说,今天的这个项目还是不错的,它为用户提供一个高效、安全且易于管理的文件存储与协作平台,无论是企业团队的项目协作,还是个人用户的日常数据管理,Seafile都能轻松应对,为用户带来便捷且安全的使用体验。

最后感谢极空间NAS,凭借自身出色的性能与功能拓展,为我们解锁了更多了使用场景,带来了更加丰富和便捷的使用体验。

目前正在年终大促期间,极空间NAS不管是新品还是之前在售的畅销型号都有专属的优惠,并且还能叠加国补、平台优惠等福利,享受180天换新以及2年质保服务 ,更有抽奖、晒单等活动,喜欢的小伙伴赶快冲吧!

好了,以上就是今天给大家分享的内容,我是爱分享的Stark-C,如果今天的内容对你有帮助请记得收藏,顺便点点关注,咱们下期再见!谢谢大家~

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐