
ggogel/seafile-server适用于Docker、Docker Swarm和Kubernetes的Seafile完全容器化部署方案。
注意:在官方Docker部署中,custom和avatars由nginx提供服务。由于某些原因,Seahub无法单独提供这些内容,因此需要独立的数据卷。
需要安装Docker和docker-compose。
如需在Kubernetes上部署,请参见Wiki / Kubernetes。
使用Docker Swarm模式时的额外注意事项,请参见Wiki / Docker Swarm。
使用以下命令获取compose文件作为起点:
bashwget [***]
重要:环境变量仅在首次部署时相关。卷中已存在的配置不会被覆盖。
首次部署时需仔细设置这些值。后续更改可能比较复杂,请参考Seafile文档了解如何修改配置值。
- DB_HOST=db
- DB_ROOT_PASSWD=db_dev
- TIME_ZONE=Europe/Berlin
- SEAFILE_URL=seafile.mydomain.com
- HTTPS=false
- SEAFILE_ADMIN_EMAIL=***
- SEAFILE_ADMIN_PASSWORD=asecret
- MYSQL_ROOT_PASSWORD=db_dev
- MYSQL_LOG_CONSOLE=true
部署中集成的Caddy反向代理暴露80端口。可将现有反向代理指向此端口。
与官方部署不同,本部署不包含支持HTTPS和Let's Encrypt的反向代理,因为Docker用户通常已部署了此类基于Docker的反向代理解决方案。
完成上述配置后,运行:
bashdocker-compose -p seafile up -d
完成上述配置后,运行:
bashdocker stack deploy -c docker-compose.yml seafile
所有服务都连接到默认配置为internal的seafile-net网络,该网络会阻止与网络外部端点的所有连接。解决方案请参见Wiki文章。
高级配置和故障排除请参见Wiki。如遇到bug或有功能请求,请提交issue。
本项目仅支持符合Compose Specification的工具,如docker compose、podman compose和nerdctl compose,以及Kubernetes。不支持不完全符合这些标准的部署方法,如podman quadlet或podman play。这些工具目前会将所有容器运行在同一pod中,导致完全不同的网络结构。请不要为此类工具提交issue。

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务