
scumbug/seafile若不熟悉Docker命令,请参考Docker文档。
从7.0版本开始,seafile-docker镜像调整为多容器架构。旧版镜像将MariaDB-Server和Memcached与Seafile服务器运行在同一容器中,新版则将这两个服务剥离,分别运行在独立容器中。
运行Seafile服务器容器:
shdocker run -d --name seafile \ -e SEAFILE_SERVER_HOSTNAME=seafile.example.com \ -v /opt/seafile-data:/shared \ -p 80:80 \ seafileltd/seafile:latest
首次初始化需等待几分钟,之后访问[***]即可打开Seafile Web界面。
该命令将本地服务器的/opt/seafile-data文件夹挂载到容器中,日志和其他数据可在此文件夹下找到。
默认管理员账号为***,密码为asecret。可通过设置容器环境变量自定义密码,例如:
shdocker run -d --name seafile \ -e SEAFILE_SERVER_HOSTNAME=seafile.example.com \ -e SEAFILE_ADMIN_EMAIL=*** \ -e SEAFILE_ADMIN_PASSWORD=a_very_secret_password \ -v /opt/seafile-data:/shared \ -p 80:80 \ seafileltd/seafile:latest
若忘记管理员密码,可添加新管理员账号,然后通过系统管理面板重置用户密码。
若将SEAFILE_SERVER_LETSENCRYPT设为true,容器将自动申请Let's Encrypt签名的SSL证书:
shdocker run -d --name seafile \ -e SEAFILE_SERVER_LETSENCRYPT=true \ -e SEAFILE_SERVER_HOSTNAME=seafile.example.com \ -e SEAFILE_ADMIN_EMAIL=*** \ -e SEAFILE_ADMIN_PASSWORD=a_very_secret_password \ -v /opt/seafile-data:/shared \ -p 80:80 \ -p 443:443 \ seafileltd/seafile:latest
若使用自有SSL证书:
/opt/seafile-data/ssl,并将证书和私钥放入该目录。seafile.example.com,证书文件名必须为seafile.example.com.crt,私钥文件名必须为seafile.example.com.key。配置文件位于shared/seafile/conf。可根据Seafile手册修改配置。
修改后需重启容器:
shdocker restart seafile
shared/logs/seafile,或宿主机的/opt/seafile-data/logs/seafile。shared/logs/var-log,或宿主机的/opt/seafile-data/logs/var-log。确保容器运行中,执行以下命令:
shdocker exec -it seafile /opt/seafile/seafile-server-latest/reset-admin.sh
根据提示输入用户名和密码,即可创建新管理员账号。
/shared用于挂载共享卷的占位目录,可将持久化数据存储在容器外部,便于重建容器时保留重要信息。
/shared/db:MySQL服务器的数据目录。/shared/seafile:Seafile服务器的配置和数据目录。/shared/logs:日志目录。
/shared/logs/var-log:容器内/var/log的挂载目录,例如Nginx日志位于shared/logs/var-log/nginx/。/shared/logs/seafile:Seafile服务器进程的日志目录,例如seaf-server日志位于shared/logs/seafile/seafile.log。/shared/ssl:证书目录,默认不存在。升级至最新版本:
shdocker pull seafileltd/seafile:latest docker rm -f seafile docker run -d --name seafile \ -e SEAFILE_SERVER_LETSENCRYPT=true \ -e SEAFILE_SERVER_HOSTNAME=seafile.example.com \ -e SEAFILE_ADMIN_EMAIL=*** \ -e SEAFILE_ADMIN_PASSWORD=a_very_secret_password \ -v /opt/seafile-data:/shared \ -p 80:80 \ -p 443:443 \ seafileltd/seafile:latest
若为早期使用launcher脚本的用户,请参考从旧格式升级文档。
文件删除后,其数据块不会立即删除(可能被其他文件引用,因去重机制)。需通过Seafile的垃圾回收流程清理未使用的块(注意:技术原因,无法保证删除所有孤立块)。
容器内/scripts目录包含所需脚本,执行以下命令进行垃圾回收:docker exec seafile /scripts/gc.sh。社区版会停止Seafile服务器,完成后自动重启;专业版支持在线垃圾回收。
可使用以下Docker命令排查错误:
shdocker logs -f seafile # 或 docker exec -it seafile bash






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