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

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

环境规划
| 操作系统 | seafile | docker | docker-compose | 连接方式 | 
|---|---|---|---|---|
| Huawei Cloud EulerOS 2.0 | seafileltd/seafile-mc:11.0-latest | 27.1.1 | 2.29.1 | 本地==shell== | 
搭建流程
修改
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]# ls
docker-compose.yml 
[root@flexusx-251f seafile]# vim docker-compose.yml
[root@flexusx-251f seafile]# cat docker-compose.yml
services:
  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-net
networks:
  seafile-net:
  
# env文件中存放的是一些变量对应值
[root@flexusx-251f seafile-data]# cat .env
COMPOSE_FILE='docker-compose.yml'
COMPOSE_PATH_SEPARATOR=','
SEAFILE_IMAGE=seafileltd/seafile-mc:11.0-latest
SEAFILE_DB_IMAGE=mariadb:10.11
SEAFILE_MEMCACHED_IMAGE=memcached:1.6.18
SEAFILE_VOLUMES=/opt/seafile-data
SEAFILE_MYSQL_VOLUMES=/opt/seafile-mysql/db
SEAFILE_MYSQL_DB_HOST=db
SEAFILE_MYSQL_ROOT_PASSWORD=Huawei2#$
TIME_ZONE='Asia/Shanghai'
SEAFILE_SERVER_HOSTNAME=example.seafile.com
SEAFILE_SERVER_LETSENCRYPT=false
SEAFILE_FORCE_HTTPS_IN_CONF=false
SEAFILE_SSL_PORT=
SEAFILE_ADMIN_EMAIL=admin@example.com
SEAFILE_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 -d
d
[+] 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 ps
NAME                IMAGE                          COMMAND                  SERVICE     CREATED         STATUS         PORTS
seafile             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/tcp
seafile-memcached   memcached:1.6                  "memcached -m 256"       memcached   4 seconds ago   Up 4 seconds   11211/tcp
seafile-mysql       mariadb:10.5                   "docker-entrypoint.s…"   db          4 seconds ago   Up 4 seconds   3306/tcp
查看容器日志(如果没有报错信息,证明容器正常运行)
[root@flexusx-251f seafile]# docker-compose logs
配置安全组,放行端口号
1234

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

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

登陆成功

基本使用
创建资料库
默认会有一个私人资料库,我们创建一个新的资料库
- 点击左上角新建资料库,输入名称
- 可以选择加密(需要设置密码),也可以默认不加密
- 填写完成,点击提交,即可创建成功


资料库的基本使用
点击资料库名称,即可进入该资料库
- 点击左上角上传,可以选择上传文件或者文件夹

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

- 新建一个文件

- 也可以进行资料库的共享
- 支持多种共享方式
- 下边演示链接共享

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

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

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

可以对用户进行管理

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

创建成功

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

登陆成功

体验和感受
在构建企业级文件管理系统的过程中,华为FlexusX服务器与Seafile社区版云存储解决方案的完美结合,给我带来了前所未有的体验。FlexusX云服务器以其强大的算力、灵活的扩展性和智能调度能力,为Seafile的部署提供了坚实的基础。部署过程流畅无阻,资源按需分配,确保了系统的高可用性和性能最优化。
更让我印象深刻的是,Seafile在FlexusX上的运行表现卓越,不仅满足了企业对于文件存储、共享、协作的多样化需求,还通过精细的权限管理和安全策略,确保了企业数据的安全无忧。
- 点赞
- 收藏
- 关注作者
 
             
           
评论(0)