Seafile社区版13.0.12容器镜像nginx配置的“seafile.nginx.conf”不是软链接问题

今天升级Seafile社区版到13.0.12,发现外配的“seafile.nginx.conf”不生效。进入seafile容器检查,发现“/etc/nginx/sites-enabled/seafile.nginx.conf”是个真实存在的文件,而不是指向“/shared/nginx/conf/seafile.nginx.conf”的软链接文件;因此导致外配的“seafile.nginx.conf”无效。

临时应对方法:

编辑seafile.yaml文件,添加command,删除容器中“seafile.nginx.conf”文件,重新建立软链接。

......
    restart: unless-stopped
    command: /bin/bash -c "if [ ! -L /etc/nginx/sites-enabled/seafile.nginx.conf ]; then rm -f /etc/nginx/sites-enabled/seafile.nginx.conf; ln -s /shared/nginx/conf/seafile.nginx.conf /etc/nginx/sites-enabled/seafile.nginx.conf; fi; /sbin/my_init -- /scripts/enterpoint.sh"
......

从 13.0 开始 seafile image中的Nginx是内部使用的,用于代理 Seahub 中服务器静态文件,并将 Seafile docker 镜像中不同组件的端口映射到单个80端口,不应该直接修改其配置。如果需要额外的代理需求,可在宿主机上单独部署nginx,修改独立部署nginx的配置。