在.env和seafile-sever.yml中指定SEAFILE_SERVER_HOSTNAME为域名时,不能通过内网IP访问,
即便在seafile-sever.yml的labels中加入域名,内网IP的方式
caddy: ${SEAFILE_SERVER_PROTOCOL:-http}://${SEAFILE_SERVER_HOSTNAME:?Variable is not set or empty}, http://192.168.36.100:8000
同时在.env中加入
ALLOWED_HOSTS=我的域名,192.168.36.0/24,10.0.0.0/8,172.16.0.0/12
重新部署也不能通过IP+端口形式访问,可能是seahub_settings.py中没有IP访问的类别,浏览器会变成全白。
我用的12CE,容器部署的时候没有用caddy。用seafile内置的nginx。
修改了一下这个文件: seafile-data\nginx\conf\seafile.nginx.conf
-- mode: nginx --
Auto generated at 08/04/2025 11:44:06
server {
listen 80;
server_name WWW.AAA.COM:60000;
server_name WWW.BBB.com:60000;
server_name 192.168.0.100:60000;
就可以外部域名,内部IP访问了。
80是容器内部端口,60000是映射到宿主机的端口。
就是放弃caddy呗,13这么干好像得改不少东西,关键我外面还套了一层nginx proxy manager,虚拟机飞牛OS,里面装docker版的seafile就搞不起来
aiirii
5
- 进入到容器caddy内部
[root@example ~]# docker exec -it seafile-caddy /bin/sh
查看本容器IP
注:每次重启容器,内部IP可能会变化。可在外部配置文件固定容器的IP
/ # ip a
- 修改caddy的配置文件
增加容器IP及127.0.0.1及宿主机IP或其它IP。
增加证书使用本地签署(此为解决caddy无法连接外网生成正式证书,实际可不用)。
/ # vi /config/caddy/Caddyfile.autosave
netdisk2.example.com.cn, netdisk.example.com.cn {
reverse_proxy 172.22.0.5:80
}
172.22.0.4, 127.0.0.1, 10.137.20.3 {
tls internal
reverse_proxy 172.22.0.5:80
}
- 重启caddy加载证书
注:这种方式,每次重启docker,都需进入容器重启服务
/ # caddy reload --config /config/caddy/Caddyfile.autosave