前言

随着企业数据量的激增,构建一个安全、高效的企业级文件管理系统至关重要。华为 Flexus X 服务器,以其灵活的资源配置与卓越的性能,成为部署 Seafile 社区版云存储解决方案的理想选择。在 828 华为云企业上云节之际,利用 Flexus X 部署 Seafile,不仅可快速响应企业存储需求,更实现成本效益最大化。本文将详述如何轻松在 Flexus X 上搭建 Seafile,助力企业实现文件管理的智能化升级。


构建企业级文件管理系统,轻松搭建 Seafile 社区版云存储解决方案._mysql

 

Seafile 介绍

Seafile 社区版是一款功能丰富、安全可靠的开源云存储解决方案,它支持跨平台同步与共享文件,提供团队协作、版本控制和精细的权限管理功能。无论是企业内部文档管理还是个人资料备份,Seafile 都能提供高效、便捷的服务,满足多样化的数据管理需求。其开源特性与强大功能相结合,赢得了广泛用户的青睐。

官方网站:https://www.seafile.com/

官方文档:https://cloud.seafile.com/published/seafile-manual-cn/


构建企业级文件管理系统,轻松搭建 Seafile 社区版云存储解决方案._mysql_02

 

环境规划

搭建流程

修改 docker-compose.yaml 和.env 文件,官方下载地址

[root@flexusx-251f ~]# mkdir /opt/seafile-data[root@flexusx-251f ~]# mkdir /opt/seafile-mysql[root@flexusx-251f ~]# cd /opt/seafile-data/#将下载的 docekr-compose.yaml 和.env 文件上传至主机[root@flexusx-251f seafile-data]# lsdocker-compose.yml [root@flexusx-251f seafile]# vim docker-compose.yml[root@flexusx-251f seafile]# cat docker-compose.ymlservices:  db:    image: ${SEAFILE_DB_IMAGE:-mariadb:10.11}    container_name: seafile-mysql    environment:      - MYSQL_ROOT_PASSWORD=${SEAFILE_MYSQL_ROOT_PASSWORD:?Variable is not set or empty}      - MYSQL_LOG_CONSOLE=true      - MARIADB_AUTO_UPGRADE=1    volumes:      - "${SEAFILE_MYSQL_VOLUMES:-/opt/seafile-mysql/db}:/var/lib/mysql"    networks:      - seafile-net  memcached:    image: ${SEAFILE_MEMCACHED_IMAGE:-memcached:1.6.18}    container_name: seafile-memcached    entrypoint: memcached -m 256    networks:      - seafile-net  seafile:    image: ${SEAFILE_IMAGE:-seafileltd/seafile-mc:11.0-latest}    container_name: seafile    ports:      - "1234:80"      - ${SEAFILE_SSL_PORT:-}:443    volumes:      - ${SEAFILE_VOLUMES:-/opt/seafile-data}:/shared    environment:      - DB_HOST=${SEAFILE_MYSQL_DB_HOST:-db}      - DB_ROOT_PASSWD=${SEAFILE_MYSQL_ROOT_PASSWORD:?Variable is not set or empty}      - TIME_ZONE=${TIME_ZONE:-Asia/Shanghai}      - SEAFILE_ADMIN_EMAIL=${SEAFILE_ADMIN_EMAIL:-me@example.com}      - SEAFILE_ADMIN_PASSWORD=${SEAFILE_ADMIN_PASSWORD:-asecret}      - SEAFILE_SERVER_HOSTNAME=${SEAFILE_SERVER_HOSTNAME:-example.seafile.com}      - SEAFILE_SERVER_LETSENCRYPT=${SEAFILE_SERVER_LETSENCRYPT:-false}      - FORCE_HTTPS_IN_CONF=${SEAFILE_FORCE_HTTPS_IN_CONF:-false}    depends_on:      - db      - memcached    networks:      - seafile-netnetworks:  seafile-net:  # env 文件中存放的是一些变量对应值[root@flexusx-251f seafile-data]# cat .envCOMPOSE_FILE='docker-compose.yml'COMPOSE_PATH_SEPARATOR=','SEAFILE_IMAGE=seafileltd/seafile-mc:11.0-latestSEAFILE_DB_IMAGE=mariadb:10.11SEAFILE_MEMCACHED_IMAGE=memcached:1.6.18SEAFILE_VOLUMES=/opt/seafile-dataSEAFILE_MYSQL_VOLUMES=/opt/seafile-mysql/dbSEAFILE_MYSQL_DB_HOST=dbSEAFILE_MYSQL_ROOT_PASSWORD=Huawei2#$TIME_ZONE='Asia/Shanghai'SEAFILE_SERVER_HOSTNAME=example.seafile.comSEAFILE_SERVER_LETSENCRYPT=falseSEAFILE_FORCE_HTTPS_IN_CONF=falseSEAFILE_SSL_PORT=SEAFILE_ADMIN_EMAIL=admin@example.comSEAFILE_ADMIN_PASSWORD=Huawei12#$

拉取对应的镜像

[root@flexusx-251f seafile]# docker-compose pull[+] Pulling 25/25 ✔ memcached Pulled                                                        16.6s   ✔ a2318d6c47ec Already exists                                            0.0s   ✔ a5daf70fef96 Pull complete                                             0.3s   ✔ b0b7f6e48c99 Pull complete                                             0.4s   ✔ 759ef1ab0c87 Pull complete                                             0.5s   ✔ 5823fa7609d8 Pull complete                                             0.7s   ✔ 5565e224421e Pull complete                                             0.7s ✔ seafile Pulled                                                          34.6s   ✔ 7c3b88808835 Pull complete                                             1.3s   ✔ 6ea0e81b1046 Pull complete                                             1.3s   ✔ 2cdac9582559 Pull complete                                             2.5s   ✔ ccd44c40b557 Pull complete                                             2.5s   ✔ edcbbb902102 Pull complete                                             9.1s   ✔ 92b48bd34329 Pull complete                                            10.0s   ✔ 5bcedf4c4f9f Pull complete                                            10.4s   ✔ b07edc8cb7f6 Pull complete                                            11.5s   ✔ 9590e9eed365 Pull complete                                            14.5s   ✔ 916c8f4e3fc8 Pull complete                                            14.6s   ✔ de6bbe57f3fe Pull complete                                            14.6s   ✔ 5646d0bc87c4 Pull complete                                            14.6s   ✔ d499e1745bf4 Pull complete                                            14.7s   ✔ de86ad2ed9d3 Pull complete                                            14.7s   ✔ a16495c6dca9 Pull complete                                            14.7s   ✔ bea0c6116c5d Pull complete                                            18.5s ✔ db Pulled                                                               13.9s

创建容器

[root@flexusx-251f seafile]# docker-compose up -dd[+] Running 3/3 ✔ Container seafile-memcached  Started                                     1.7s ✔ Container seafile-mysql      Started                                     1.7s ✔ Container seafile            Started                                     1.1s

查看容器运行状态

[root@flexusx-251f seafile]# docker-compose psNAME                IMAGE                          COMMAND                  SERVICE     CREATED         STATUS         PORTSseafile             seafileltd/seafile-mc:10.0.1   "/sbin/my_init -- /s…"   seafile     4 seconds ago   Up 4 seconds   0.0.0.0:6188->80/tcp, :::6188->80/tcpseafile-memcached   memcached:1.6                  "memcached -m 256"       memcached   4 seconds ago   Up 4 seconds   11211/tcpseafile-mysql       mariadb:10.5                   "docker-entrypoint.s…"   db          4 seconds ago   Up 4 seconds   3306/tcp

查看容器日志(如果没有报错信息,证明容器正常运行)

[root@flexusx-251f seafile]# docker-compose logs

配置安全组,放行端口号 1234


构建企业级文件管理系统,轻松搭建 Seafile 社区版云存储解决方案._memcached_03

 

访问测试

在浏览器地址栏输入:http://主机 IP:1234


构建企业级文件管理系统,轻松搭建 Seafile 社区版云存储解决方案._mysql_04

 

输入账号,密码进行登录(.env 文件中有指定 )


构建企业级文件管理系统,轻松搭建 Seafile 社区版云存储解决方案._mysql_05

 

登陆成功


构建企业级文件管理系统,轻松搭建 Seafile 社区版云存储解决方案._docker_06

 

基本使用

创建资料库

默认会有一个私人资料库,我们创建一个新的资料库

• 点击左上角新建资料库,输入名称

• 可以选择加密(需要设置密码),也可以默认不加密

• 填写完成,点击提交,即可创建成功


构建企业级文件管理系统,轻松搭建 Seafile 社区版云存储解决方案._docker_07

 

构建企业级文件管理系统,轻松搭建 Seafile 社区版云存储解决方案._docker_08

 

资料库的基本使用

点击资料库名称,即可进入该资料库

点击左上角上传,可以选择上传文件或者文件夹


构建企业级文件管理系统,轻松搭建 Seafile 社区版云存储解决方案._docker_09

 

点击新建,可以新建目录和多种类型的文件


构建企业级文件管理系统,轻松搭建 Seafile 社区版云存储解决方案._docker_10

 

新建一个文件


构建企业级文件管理系统,轻松搭建 Seafile 社区版云存储解决方案._docker_11

 

也可以进行资料库的共享

– 支持多种共享方式

– 下边演示链接共享


构建企业级文件管理系统,轻松搭建 Seafile 社区版云存储解决方案._mysql_12

 

选择链接的保护方式,之后点击生成链接


构建企业级文件管理系统,轻松搭建 Seafile 社区版云存储解决方案._mysql_13

 

之后就可以通过链接或者二维码进行访问了


构建企业级文件管理系统,轻松搭建 Seafile 社区版云存储解决方案._memcached_14

 

系统管理

点击右上角头像,点击系统管理


构建企业级文件管理系统,轻松搭建 Seafile 社区版云存储解决方案._mysql_15

 

可以对用户进行管理


构建企业级文件管理系统,轻松搭建 Seafile 社区版云存储解决方案._docker_16

 

创建一个新用户,输入邮箱,姓名,密码,点击提交


构建企业级文件管理系统,轻松搭建 Seafile 社区版云存储解决方案._docker_17

 

创建成功


构建企业级文件管理系统,轻松搭建 Seafile 社区版云存储解决方案._memcached_18

 

使用普通用户进行登录(首次登录之后,需要进行密码修改)


构建企业级文件管理系统,轻松搭建 Seafile 社区版云存储解决方案._memcached_19

 

登陆成功


构建企业级文件管理系统,轻松搭建 Seafile 社区版云存储解决方案._docker_20

 

体验和感受

在构建企业级文件管理系统的过程中,华为 FlexusX 服务器与 Seafile 社区版云存储解决方案的完美结合,给我带来了前所未有的体验。FlexusX 云服务器以其强大的算力、灵活的扩展性和智能调度能力,为 Seafile 的部署提供了坚实的基础。部署过程流畅无阻,资源按需分配,确保了系统的高可用性和性能最优化。


构建企业级文件管理系统,轻松搭建 Seafile 社区版云存储解决方案._docker_21