在之前我介绍过了开源的网盘系统有 nextcloud 和 cloudreve 。今天要来分享的是Seafile。也是一款十分优秀的开源网盘系统。
Seafile介绍
- 支持主流平台 Seafile 提供全面的网盘功能,用户可以在 Seafile 中存储、管理和共享文件。支持多种文件类型。支持全平台客户端,包括 Windows、Mac、Linux、iOS、Android 多种操作系统以及移动设备,可以在任何设备上轻松访问和管理文件,体验更为统一。
- 团队协作 Seafile的共享协作功能不仅仅局限于简单的文件共享,它提供了强大的协作功能。Seafile支持多人协同在线编辑,团队成员可以同时对同一文件进行编辑和更新。此外,Seafile还提供了文档编辑锁定的功能,确保在协作过程中每个人都能独立地进行编辑,避免冲突和混乱。 除了协同编辑,Seafile还提供了一系列的协作管理功能。它具备灵活的权限管理,可以根据团队的需求设置不同的权限级别,确保文件的安全和保密。版本控制功能让您能够追踪文件的修改历史,轻松恢复到之前的版本,保证团队对文件的修改和迭代能够有序进行。另外,Seafile还提供了事件通知功能,及时通知团队成员有关文件的更新和变动,保持团队的信息同步和沟通畅通。
这些功能的结合使得Seafile成为一个协作流畅、可控和高效的工具,助力团队在共享文件和协作过程中取得更好的效果。无论是小型团队还是跨部门合作,Seafile都能提供强大的共享协作支持,促进团队的协同工作和创造力。
- 稳定可靠 Seafile以其稳定可靠的数据同步和数据完整性检查而享有盛誉,获得了百万用户的验证和信赖。不论是个人用户还是团队,都可以放心地使用Seafile进行文件同步,无需担心数据的遗失或损坏。Seafile采用文件组织成资料库的方式,用户可以选择性地将资料库同步至任意设备。这意味着文件可以在多个设备之间保持同步,确保团队成员或个人用户始终能够访问最新的文件版本。无论是在办公室、家庭、或是在移动设备上,用户都可以安心地使用Seafile进行数据同步,满足各种需求。
其他比如说seafile的性能和在线编辑系统也是十分强大。 Seafile提供了高效快速的文件同步功能,用户可以在短短一分钟内同步上万个文件。同时,Seafile的设计使得服务器硬件资源消耗非常低,保证了系统的高效运行和快速响应速度。这使得Seafile不仅适用于小型企业和个人用户,也适用于各种规模的企业。 Seafile内置了协同文档编辑器SeaDoc,让用户能够直接在Seafile中进行协作撰写、管理和发布高质量的文档。SeaDoc的加入使得团队协作变得更加便捷和高效。多人可以同时编辑文档,实时同步更新,确保团队成员之间的协作无缝进行。
Seafile云盘部署
seafile有社区版和企业版,对于我们个人使用,那么我们使用免费的社区版就足够了。 接下来我们就来介绍一下部署方式。依然是使用docker-compose,所以前提是安装好docker-compose
ssh登录服务器后台,随便新建一个目录
在目录里执行 wget https://manual.seafile.com/docker/docker-compose.yml
将yml文件下载下来。考虑到有些同学网络不好。完整的yml文件内容如下:直接复制也可以。但是编辑器有时候复制的yml可能缩进有问题。 也可以直接访问网页:https://manual.seafile.com/docker/docker-compose.yml 来复制即可。
services:
db:
image: mariadb:10.11
container_name: seafile-mysql
environment:
- MYSQL_ROOT_PASSWORD=db_dev # Requested, set the root's password of MySQL service.
- MYSQL_LOG_CONSOLE=true
- MARIADB_AUTO_UPGRADE=1
volumes:
- /opt/seafile-mysql/db:/var/lib/mysql # Requested, specifies the path to MySQL data persistent store.
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:latest
container_name: seafile
ports:
- "80:80"
# - "443:443" # If https is enabled, cancel the comment.
volumes:
- /opt/seafile-data:/shared # Requested, specifies the path to Seafile data persistent store.
environment:
- DB_HOST=db
- DB_ROOT_PASSWD=db_dev # Requested, the value should be root's password of MySQL service.
- TIME_ZONE=Etc/UTC # Optional, default is UTC. Should be uncomment and set to your local time zone.
- SEAFILE_ADMIN_EMAIL=me@example.com # Specifies Seafile admin user, default is 'me@example.com'.
- SEAFILE_ADMIN_PASSWORD=asecret # Specifies Seafile admin password, default is 'asecret'.
- SEAFILE_SERVER_LETSENCRYPT=false # Whether to use https or not.
- SEAFILE_SERVER_HOSTNAME=docs.seafile.com # Specifies your host name if https is enabled.
depends_on:
- db
- memcached
networks:
- seafile-net
networks:
seafile-net:
将yml文件下载好之后,我们需要按需更改以下内容 MySQL root 的密码(MYSQL_ROOT_PASSWORD 和 DB_ROOT_PASSWD) MySQL数据的卷目录(volumes) Seafile 数据(卷)的卷目录。
默认管理员帐户为me@example.com,密码为asecret。可以在yml文件里自定义修改
- 接着我们需要把这个网盘系统,你期望的域名解析到服务器上。然后在yml文件里,设置SEAFILE_SERVER_LETSENCRYPT为true,容器将自动为您请求 LetsEncrypt 签名的 SSL 证书。将会自动https。
将这一切准备工作准备好之后,我们就可以在后台执行
docker compose up -d
来启动seafile了。等待几分钟,初始化完毕后。在前台访问我们配置的域名即可访问seafile的控制台。其他的安装方式或者对应配置可以参考官方文档:https://manual.seafile.com/docker/deploy_seafile_with_docker/
创作不易,如果您觉得这篇文章对你有帮助,不妨给我点个赞,这将是我继续分享优质内容的动力。