【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)