
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Seafile服务器Docker镜像,基于https://hub.docker.com/_/alpine/%E6%9E%84%E5%BB%BA%E3%80%82
Dockerfile链接旧版本Seafile Server的Dockerfile可在https://github.com/bernardgut/seafile-docker/tags%E6%89%BE%E5%88%B0%E3%80%82
运行容器可使用以下命令:
bashdocker run \ -v /home/docker/seafile:/home/seafile \ -p 127.0.0.1:8000:8000 \ -p 127.0.0.1:8082:8082 \ -ti sunx/seafile
基于此镜像的容器会在首次运行时自动配置Seafile环境;若环境来自旧版本Seafile,容器会自动升级至最新版本(通过调用Seafile升级脚本)。
建议:升级前备份数据,以防升级逻辑或Seafile脚本存在bug导致数据丢失。
镜像使用2个TCP端口:
若启用seafdav(Seafile的WebDAV服务),还需使用8080端口。
镜像使用内部路径为/home/seafile的单个数据卷。
推荐:使用主机目录映射或命名卷运行容器,避免镜像更新或容器重建时丢失数据。
镜像不含Web服务器,通常服务器已运行HTTP服务,无需额外运行(节省CPU和内存资源)。若有轻量级带代理功能的Web服务器推荐,可整合至镜像。
Web服务器配置中,媒体目录路径应设为<卷路径>/seafile-server/seahub。
在httpd-conf目录中提供以下配置示例:
官方Seafile Server 手册中提供Nginx和Apache的配置示例。
ccnet.conf: SERVICE_URL = https://seafile.example.comseahub_settings.py: FILE_SERVER_ROOT ='https://seafile.example.com/seafhttp'docker restart <容器名>运行容器时可通过--env参数传递以下环境变量:
INTERACTIVE=<0|1> - 容器是否在首次运行及升级时询问配置值。默认:1(启用)SERVER_NAME=<...> - Seafile服务器名称(3-15个字母或数字),仅用于非交互模式首次运行。默认:SeafileSERVER_DOMAIN=<...> - Seafile服务器域名或IP,仅用于非交互模式首次运行。默认:seafile.domain.comSEAHUB=<fastcgi> - 设为"fastcgi"时以FastCGI模式启动seahub,留空则禁用。默认:空(非FastCGI模式)SEAFILE_FASTCGI_HOST=<ip> - FastCGI模式下seahub的绑定IP。默认:127.0.0.1HANDLE_SIGNALS=<0|1> - 是否处理SIGHUP、SIGTERM等信号(如docker stop发送的SIGTERM)。启用时脚本会循环等待信号,理论上可能略微增加CPU占用。默认:1(启用)在容器内seafile用户的主目录中,可使用以下命令:
seafile-fsck - 检查库错误(基于seaf-fsck.sh)seafile-gc - 清理库存储中未使用的旧数据(基于seaf-gc.sh)seafile-admin start - 启动seafile和seahub守护进程(若已停止)seafile-admin stop - 停止seafile和seahub守护进程seafile-admin reset-admin - 重置Seafile管理员用户和/或密码seafile-admin setup - 配置ccnet、seafile和seahub服务(若未自动配置)seafile-admin create-admin - 创建Seafile管理员用户(若未自动创建)确保挂载的数据卷及文件对容器内seafile用户(UID:2016,GID:2016)有读写权限。
seafdav默认禁用,启用方法参见手册,启用后需开放8080端口。
若不想容器在镜像(及Seafile服务器)更新时自动升级环境,可在容器内/home/seafile目录创建空文件.no-update,命令:docker exec <容器名> touch /home/seafile/.no-update。
容器使用seafile用户运行服务,需root权限操作时,可执行:docker exec -ti --user=0 <容器名> /bin/sh。
首次运行(及每次镜像升级)时,容器会将/usr/local/share/seahub目录复制到/home/seafile/seafile-server/seahub(即数据卷中),占用约40MB空间。
目前多数Seafile脚本(位于/usr/local/share/seafile/scripts)无法正常工作,但seaf-fsck.sh和seaf-gc.sh可正常使用,且已链接为/usr/local/bin/seafile-fsck和/usr/local/bin/seafile-gc。
代理可能出现读取错误,如[error] 4766#4766: *2 open() "<seafile_dir>/seafile-server/seahub/media/avatars/default.png" failed (2: No such file or directory),原因是seafile-server/seahub/media/avatars为指向容器内/home/seafile/seahub-data/avatars的符号链接。修复方法:在<seafile_dir>/seafile-server/seahub/media目录中执行ln -s ../../../seahub-data/avatars avatars,使用相对路径链接。
本Dockerfile及脚本基于https://github.com/bernardgut/seafile-docker/blob/master/LICENSE%E5%8F%91%E5%B8%83%E3%80%82%E5%8E%9F%E5%A7%8B%E6%9E%84%E6%83%B3%E5%BD%92%E5%8A%9F%E4%BA%8Ehttps://github.com/VGoshev/seafile-docker%E3%80%82
https://github.com/haiwen/seafile/blob/master/LICENSE.txt%E5%92%8CAlpine Linux有各自的许可证。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务
以下是 bernardgut/seafile 相关的常用 Docker 镜像,适用于 不同场景 等不同场景: