seafile

dev-env-resource

# 一、seafile简介

Seafile 是一个开源的企业文件托管平台(企业云盘),注重可靠性和性能,支持全平台客户端。

官网:https://www.seafile.com/ (opens new window)

客户端下载 (opens new window)

# seafile特点

  • 文件管理
    • 创建和管理库:Seafile 以 “库” 为单位管理文件,用户可以在客户端或网页端创建库,并对库进行命名、描述等设置。每个库可独立同步,还可选择性地使用自定义密码加密。
    • 文件操作:在库中可以进行文件和文件夹的创建、上传、下载、删除、重命名等常规操作。支持批量操作,方便用户对大量文件进行管理。
    • 版本控制:Seafile 会自动记录文件的修改历史,用户可以查看文件的版本信息,追溯文件的修改过程,还可以恢复到文件的任意历史版本。
  • 文件共享与协作
    • 共享库或文件夹:用户可以将库或文件夹共享给其他用户或小组。在共享时,可以设置详细的访问权限,如可读写、只读、管理权限、仅创建文件等,还可以对子文件夹的权限进行微调。
    • 共享链接:对于临时或外部分享,用户可以生成带有密码的下载链接,并设置有效期限,方便与外部人员共享文件,同时保证文件的安全性。
  • 高级功能
    • 文件扩展属性:用户可以根据自己的需求,为文件添加扩展属性,如合同状态、审核人、签署人等,使得文件管理更加精细化。
    • 层级标签:Seafile 提供了层级标签管理功能,用户可以创建条理清晰的标签体系,通过标签对文件进行分类和查找,提高文件管理的效率和准确性。
    • SeaDoc 协作文档:Seafile 内置的 SeaDoc 协作文档功能,支持多人同时对文档进行编辑,同一处的更改冲突不会互相覆盖,所有更改都会列出,方便团队进行合并和确认。
    • 团队协作:支持团队和组织的文件管理,用户可以创建库和管理权限,便于团队协作。
    • 跨平台支持:提供 WindowsmacOSLinuxiOSAndroid 的客户端,支持多种操作系统。
    • 自托管选项:用户可以选择在自己的服务器上托管 Seafile,增加数据的控制和隐私性。
  • 数据安全
    • 加密:在数据传输过程中,Seafile 可以采用先进的对称加密算法,如 AES 算法,对数据进行实时加密。在数据存储方面,结合 SSL/TLS 加密协议,对存储的数据进行加密保护。用户还可以对库进行端到端加密,确保数据的安全性。
    • 访问控制:Seafile 建立了基于角色的访问控制(RBAC)模型,根据用户的角色和职责分配不同的访问权限,同时对所有的访问操作进行详细记录,便于审计和追溯。

# 适用场景

  • 个人用户需要同步和备份文件。
  • 企业和团队需要安全的文件共享和协作解决方案。
  • 需要自托管文件管理系统以满足特定的合规性或隐私要求。

# 二、seafile安装

# Docker安装

docker-compose.yml

version: '3.3'

services:
  db:
    image: mariadb:10.11
    container_name: seafile-mysql
    environment:
      - MYSQL_ROOT_PASSWORD=your_secure_mysql_root_password  # 强烈建议修改
      - MYSQL_LOG_CONSOLE=true
    volumes:
      - ./data/mysql-data:/var/lib/mysql  # 使用相对路径
    networks:
      - seafile-net
    restart: unless-stopped

  memcached:
    image: memcached:1.6
    container_name: seafile-memcached
    entrypoint: memcached -m 256
    networks:
      - seafile-net
    restart: unless-stopped

  seafile:
    image: seafileltd/seafile-mc:latest
    container_name: seafile
    ports:
      - "8084:80"
      # - "443:443"  # 若启用HTTPS,取消注释
    environment:
      - DB_HOST=db
      - DB_ROOT_PASSWD=your_secure_mysql_root_password  # 与上述MYSQL_ROOT_PASSWORD保持一致
      - TIME_ZONE=Asia/Shanghai  # 按需设置时区,例如UTC
      - SEAFILE_ADMIN_EMAIL=your_admin_email@example.com  # 设置管理员邮箱
      - SEAFILE_ADMIN_PASSWORD=your_secure_admin_password  # 设置管理员密码
      - SEAFILE_SERVER_HOSTNAME=your_server_domain_or_ip  # 设置服务器域名或IP地址
      # - SEAFILE_SERVER_LETSENCRYPT=false  # 如需Let's Encrypt证书,设为true并开放443端口
      # - SEAFILE_SERVER_LETSENCRYPT=true   # 需要设置SEAFILE_SERVER_HOSTNAME为有效域名
    volumes:
      - ./data/shared-data:/shared  # 使用相对路径
    depends_on:
      - db
      - memcached
    networks:
      - seafile-net
    restart: unless-stopped

networks:
  seafile-net:
    driver: bridge
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50

# 运行

第一次启动的时间会比较长,如果只是看到 502 Bad Gateway 不用担心,多等一会儿

seafile管理界面:http://localhost:8084 (opens new window)

启动后访问 http://服务器IP:8084,使用配置中的 SEAFILE_ADMIN_EMAILSEAFILE_ADMIN_PASSWORD 登录。

# 三、seafile使用

除了网页外,还支持各平台的客户端应用,包括了桌面同步客户端、挂载盘客户端和移动客户端,下载地址 (opens new window)

我们可以下载 Windows 挂载盘客户端,让你通过本地虚拟磁盘直接访问服务器上的文件,无需同步。不占用本地磁盘。支持视频直接播放。