
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
基于https://hub.docker.com/_/alpine/%E7%9A%84Seafile%E6%9C%8D%E5%8A%A1%E5%99%A8Docker%E9%95%9C%E5%83%8F%E3%80%82
在我的https://github.com/VGoshev/seafile-docker%E4%B8%AD%EF%BC%8C%E6%82%A8%E5%8F%AF%E4%BB%A5%E6%89%BE%E5%88%B0%E4%B8%80%E4%BA%9B%E5%B8%AE%E5%8A%A9%E8%BF%90%E8%A1%8C%E5%AE%B9%E5%99%A8%E7%9A%84%E5%AE%9E%E7%94%A8%E8%84%9A%E6%9C%AC%E3%80%82
Dockerfile链接旧版本Seafile Server的Dockerfile可在https://github.com/VGoshev/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/media。
在https://github.com/VGoshev/seafile-docker/blob/master/httpd-conf/%E7%9B%AE%E5%BD%95%E4%B8%AD%EF%BC%8C%E5%8F%AF%E6%89%BE%E5%88%B0lighttpd%E7%9A%84https://github.com/VGoshev/seafile-docker/blob/master/httpd-conf/lighttpd.conf.example%E5%92%8Chaaproxy%E7%9A%84https://github.com/VGoshev/seafile-docker/blob/master/httpd-conf/haproxy.cfg%E3%80%82
Nginx和Apache的配置可参考Seafile官方手册:
运行容器时,可通过--env选项传递以下环境变量:
INTERACTIVE=<0|1> - 容器是否在首次运行时询问配置值及升级相关问题。默认值:1SERVER_NAME=<...> - Seafile服务器名称(3-15个字母或数字),仅在非交互模式首次运行时使用。默认值:SeafileSERVER_DOMAIN=<...> - Seafile服务器域名或IP,仅在非交互模式首次运行时使用。默认值:seafile.domain.comHANDLE_SIGNALS=<0|1> - 容器是否正确处理SIGHUP和SIGTERM等信号(如docker stop会发送SIGTERM)。启用信号处理后,脚本会进入无限循环等待信号,理论上可能略微增加容器CPU消耗。默认值:1(启用)SEAHUB=<fastcgi> - 是否以FastCGI模式启动seahub(设为"fastcgi"启用,留空则不启用)。默认值:空(非FastCGI模式)。注意:SeaHub的FastCGI模式已弃用,将在未来版本中移除。SEAFILE_FASTCGI_HOST=<ip> - FastCGI模式下seahub的绑定IP。默认值:127.0.0.1在容器内seafile用户的主目录中,可使用以下命令:
seafile-fsck - 检查库错误(基于seaf-fsck.sh)seafile-gc - 从Seafile库存储中移除旧的未使用数据(基于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:GID 2016:2016)读写。
若需启用默认禁用的seafdav,可参考其手册,并记得发布8080端口。
若不希望容器在镜像(及Seafile服务器)更新时自动升级环境,可在容器的/home/seafile目录中创建空文件.no-update,命令:docker exec <容器名称> touch /home/seafile/.no-update。
容器使用seafile用户运行Seafile,若需在容器内操作Seafile数据,可执行:docker exec -ti --user=seafile <容器名称> /bin/sh。
首次运行(及每次镜像升级)时,容器会将seahub目录从/usr/local/share/seahub复制到/home/seafile/seafile-server/seahub(即卷中),占用约40MB空间。目前暂无法在不内置Web服务器的情况下避免此操作(40MB空间在当前环境下影响较小)。
目前多数Seafile脚本(位于/usr/local/share/seafile/scripts目录)无法正常工作,但seaf-fsck.sh和seaf-gc.sh可正常使用,并通过/usr/local/bin/seafile-fsck和/usr/local/bin/seafile-gc提供。
此镜像配置为基于SQLite的Seafile服务器。若需使用MySQL/MariaDB,可手动配置,或反馈需求以添加相关配置选项。
本Dockerfile及脚本基于https://github.com/VGoshev/seafile-docker/blob/master/LICENSE%E5%8F%91%E5%B8%83%E3%80%82
https://github.com/haiwen/seafile/blob/master/LICENSE.txt%E5%92%8CAlpine Linux有各自的许可证。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务
以下是 tvollstaedt/seafile 相关的常用 Docker 镜像,适用于 不同场景 等不同场景: