本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

seafile-server Docker 镜像下载 - 轩辕镜像

seafile-server 镜像详细信息和使用指南

seafile-server 镜像标签列表和版本信息

seafile-server 镜像拉取命令和加速下载

seafile-server 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

seafile-server
ggogel/seafile-server

seafile-server 镜像详细信息

seafile-server 镜像标签列表

seafile-server 镜像使用说明

seafile-server 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

Seafile的完全容器化部署方案,适用于Docker、Docker Swarm和Kubernetes,采用容器化最佳实践,分离前后端服务,包含Caddy反向代理,增强安全性并支持自动升级与垃圾回收。
7 收藏0 次下载activeggogel镜像

seafile-server 镜像详细说明

seafile-server 使用指南

seafile-server 配置说明

seafile-server 官方文档

容器化Seafile部署

适用于Docker、Docker Swarm和Kubernetes的Seafile完全容器化部署方案。

目录

  1. 功能特性
  2. 架构结构
  3. 快速开始
  4. 附加信息

功能特性

  • 基于容器化最佳实践,对***Docker部署进行了完全重新设计。
  • 将Seahub(前端)和Seafile服务器(后端)运行在独立容器中,通过TCP相互通信。
  • 无需专业版即可实现集群部署。
  • 独立Caddy容器作为反向代理。
  • 增强安全性:
    • Caddy反向代理作为整个服务栈的单一入口点,其他组件运行在隔离网络中。
    • 前端使用基于Alpine Linux的镜像,该系统专为安全性设计并具备主动安全特性。
    • ***Seafile Docker部署使用完全过时的基础镜像和依赖,本方案定期更新基础镜像和依赖。
  • 重新设计的Dockerfile采用多阶段构建,实现更小的镜像体积和更快的构建速度。
  • 通过cron任务调度离线垃圾回收。
  • 部署新版本镜像时自动运行升级脚本。
  • 包含Seafile社区版的所有功能。

架构结构

服务组件

  • seafile-server
    • 包含名为seafile-server的后端组件
    • 处理存储、客户端直接访问和seafdav服务
  • seahub
    • 名为seahub的动态前端组件
    • 提供Web界面服务
    • 与seafile-server通信
  • seahub-media
    • 提供静态网站内容、头像和自定义logo
  • db
    • 供seafile-server和seahub使用的数据库
  • memcached
    • seahub的数据库缓存
  • seafile-caddy
    • 反向代理,将请求转发到正确的端点(seafile-server、seahub或seahub-media)
    • 作为部署的单一外部入口点

数据卷

  • seafile-data
    • seafile-server和seahub的共享数据卷
    • 包含配置文件和日志文件
  • seafile-mariadb
    • db服务的数据卷
    • 存储数据库数据
  • seahub-custom
    • 包含自定义logo
    • 由seahub存储,seahub-media提供服务
  • seahub-avatars
    • 包含用户头像
    • 由seahub存储,seahub-media提供服务

注意:在***Docker部署中,custom和avatars由nginx提供服务。由于某些原因,Seahub无法单独提供这些内容,因此需要独立的数据卷。

网络

  • seafile-net
    • 服务间通信使用的隔离本地网络

快速开始

1. 前提条件

需要安装Docker和docker-compose。

如需在Kubernetes上部署,请参见Wiki / Kubernetes。

使用Docker Swarm模式时的额外注意事项,请参见Wiki / Docker Swarm。

2. 获取compose文件

使用以下命令获取compose文件作为起点:

bash
wget [***]

3. 设置环境变量

重要:环境变量仅在首次部署时相关。卷中已存在的配置不会被覆盖。

首次部署时需仔细设置这些值。后续更改可能比较复杂,请参考Seafile文档了解如何修改配置值。

seafile-server

  • MariaDB服务的名称(自动作为Docker内部主机名)
    - DB_HOST=db 
    
  • MariaDB root用户密码,必须与MYSQL_ROOT_PASSWORD相同
    - DB_ROOT_PASSWD=db_dev
    
  • Seafile使用的时区
    - TIME_ZONE=Europe/Berlin
    
  • 用于SERVICE_URL和FILE_SERVER_ROOT的URL。重要:后续修改配置文件中的这些值无效,因为它们已写入数据库。这些值优先于配置文件。如需更改,请通过Web界面的"系统管理"部分操作。文件上传问题通常与此配置相关。
    - SEAFILE_URL=seafile.mydomain.com 
    
  • 如计划使用HTTPS反向代理,设为true。这会将SERVICE_URL和FILE_SERVER_ROOT中的http替换为https
    - HTTPS=false
    

seahub

  • 第一个管理员用户的用户名/***
    - SEAFILE_ADMIN_EMAIL=***
    
  • 第一个管理员用户的密码
    - SEAFILE_ADMIN_PASSWORD=asecret
    

db

  • MariaDB root用户密码,必须与DB_ROOT_PASSWD相同
    - MYSQL_ROOT_PASSWORD=db_dev
    
  • 启用控制台日志
    - MYSQL_LOG_CONSOLE=true
    

4. (可选)反向代理

部署中集成的Caddy反向代理暴露80端口。可将现有反向代理指向此端口。

与*部署不同,本部署不**包含支持HTTPS和Let's Encrypt的反向代理,因为Docker用户通常已部署了此类基于Docker的反向代理解决方案。

5. 部署

Docker Compose

完成上述配置后,运行:

bash
docker-compose -p seafile up -d

Docker Swarm

完成上述配置后,运行:

bash
docker stack deploy -c docker-compose.yml seafile

常见问题

1. Seafile无法通过Docker Compose部署连接LDAP、OAuth、SMTP或其他外部服务。

所有服务都连接到默认配置为internalseafile-net网络,该网络会阻止与网络外部端点的所有连接。解决方案请参见Wiki文章。

附加信息

高级配置和故障排除

高级配置和故障排除请参见Wiki。如遇到bug或有功能请求,请提交issue。

本项目仅支持符合Compose Specification的工具,如docker composepodman composenerdctl compose,以及Kubernetes。不支持不完全符合这些标准的部署方法,如podman quadletpodman play。这些工具目前会将所有容器运行在同一pod中,导致完全不同的网络结构。请不要为此类工具提交issue。

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

"Docker加速体验非常流畅,大镜像也能快速完成下载。"