seafile的访问域名为:http://YYY.w1.luyouxia.net
onlyoffice域名:http://YYY.a1.luyouxia.net:232xx
单独浏览onlyoffice都是可以看到:

但与seafile集成,就无法浏览文件查看onlyoffice错误如下:
root@fbxx200c:/etc/onlyoffice/documentserver# tail -f /var/log/onlyoffice/documentserver/nginx.error.log
2025/03/11 06:03:01 [error] 7765#7765: *11 open() "/var/www/onlyoffice/documentserver-example/welcome/web-apps" failed (2: No such file or directory), client: 172.22.0.2, server: , request: "GET /welcome/web-apps HTTP/1.1", host: "YYY.a1.luyouxia.net:232xx"
2025/03/11 06:05:23 [error] 7765#7765: *14 open() "/var/www/onlyoffice/documentserver-example/welcome/web-apps/apps/api/documents/api.js" failed (2: No such file or directory), client: 172.22.0.2, server: , request: "GET /welcome/web-apps/apps/api/documents/api.js HTTP/1.1", host: "YYY.a1.luyouxia.net:232xx"
2025/03/11 06:08:53 [error] 7765#7765: *15 connect() failed (111: Unknown error) while connecting to upstream, client: 172.22.0.2, server: , request: "GET /example/ HTTP/1.1", upstream: "http://127.0.0.1:3000/", host: "YYY.a1.luyouxia.net:232xx", referrer: "http://YYY.a1.luyouxia.net:232xx/welcome/"
2025/03/11 06:08:53 [error] 7765#7765: *15 connect() failed (111: Unknown error) while connecting to upstream, client: 172.22.0.2, server: , request: "GET /example/ HTTP/1.1", upstream: "http://127.0.0.1:3000/", host: "YYY.a1.luyouxia.net:232xx", referrer: "http://YYY.a1.luyouxia.net:232xx/welcome/"
2025/03/11 06:55:13 [error] 737#737: *1 open() "/var/www/onlyoffice/documentserver-example/welcome/web-apps/apps/api/documents/api.js" failed (2: No such file or directory), client: 172.22.0.4, server: , request: "GET /welcome/web-apps/apps/api/documents/api.js HTTP/1.1", host: "YYY.a1.luyouxia.net:232xx", referrer: "http://YYY.w1.luyouxia.net/"
2025/03/11 07:06:35 [error] 7778#7778: *2 open() "/var/www/onlyoffice/documentserver-example/welcome/web-apps/apps/api/documents/api.js" failed (2: No such file or directory), client: 172.22.0.4, server: , request: "GET /welcome/web-apps/apps/api/documents/api.js HTTP/1.1", host: "YYY.a1.luyouxia.net:232xx", referrer: "http://YYY.w1.luyouxia.net/"
2025/03/11 07:39:04 [error] 7793#7793: *2 open() "/var/www/onlyoffice/documentserver-example/welcome/web-apps/apps/api/documents/api.js" failed (2: No such file or directory), client: 172.22.0.2, server: , request: "GET /welcome/web-apps/apps/api/documents/api.js HTTP/1.1", host: "YYY.a1.luyouxia.net:232xx", referrer: "http://YYY.w1.luyouxia.net/"
2025/03/11 07:52:57 [error] 7772#7772: *2 open() "/var/www/onlyoffice/documentserver-example/welcome/web-apps/apps/api/documents/api.js" failed (2: No such file or directory), client: 172.22.0.4, server: , request: "GET /welcome/web-apps/apps/api/documents/api.js HTTP/1.1", host: "YYY.a1.luyouxia.net:232xx", referrer: "http://YYY.w1.luyouxia.net/"
2025/03/11 07:54:33 [error] 7772#7772: *3 open() "/var/www/onlyoffice/documentserver-example/welcome/web-apps/apps/api/documents/api.js" failed (2: No such file or directory), client: 172.22.0.4, server: , request: "GET /welcome/web-apps/apps/api/documents/api.js HTTP/1.1", host: "YYY.a1.luyouxia.net:232xx", referrer: "http://YYY.w1.luyouxia.net/"
2025/03/11 07:54:43 [error] 7772#7772: *3 open() "/var/www/onlyoffice/documentserver-example/welcome/web-apps/apps/api/documents/api.js" failed (2: No such file or directory), client: 172.22.0.4, server: , request: "GET /welcome/web-apps/apps/api/documents/api.js HTTP/1.1", host: "YYY.a1.luyouxia.net:232xx", referrer: "http://YYY.w1.luyouxia.net/"
日志提醒是这个上游的服务器无法访问。你可以进入 seafile 的容器验证下这个地址能否正常访问,如果异常应该是配置文件的设置不正确
docker exec -it seafile bash
curl -I http://127.0.0.1:3000
3000端口是做什么的? 我测试确实curl -I http://127.0.0.1:3000
是不通的
但是我实际验证,下面这句话与浏览有关呢?
2025/03/11 07:54:43 [error] 7772#7772: *3 open() "/var/www/onlyoffice/documentserver-example/welcome/web-apps/apps/api/documents/api.js" failed (2: No such file or directory), client: 172.22.0.4, server: , request: "GET /welcome/web-apps/apps/api/documents/api.js HTTP/1.1", host: "YYY.a1.luyouxia.net:232xx", referrer: "http://YYY.w1.luyouxia.net/"
要检查和 onlyoffice 相关的配置情况。你的 onlyoffice 是不是和 seafile 不是在同一个文件中配置的,而是单独启动的容器或者是不是在其它宿主机上启动的容器?
是的 seafile和onlyoffice 在同一个物理机器的不同的docker里 用 cabby 做反向代理
seafile域名和onlyoffice用不同的域名
我把onlyoffice配成本地ip 不用域名的话 只能在服务器局域网才能正常在线浏览office ,如果在外网就访问不了
具体如下
ONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
fb049a95954b seafileltd/seafile-mc:12.0-latest "/sbin/my_init -- /s…" 47 hours ago Up 47 hours 80/tcp seafile
7c88d54b296e seafileltd/sdoc-server:1.0-latest "/sbin/my_init -- /s…" 47 hours ago Up 47 hours 80/tcp seadoc
fb4ebad2200c docker.seafile.top/seafileltd/onlyoffice-documentserver:8.1 "/app/ds/run-documen…" 47 hours ago Up 47 hours 80/tcp, 443/tcp seafile-onlyoffice
e5c3dd38d7e2 lucaslorentz/caddy-docker-proxy:2.9-alpine "/bin/caddy docker-p…" 47 hours ago Up 47 hours (healthy) 0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp, 0.0.0.0:6233->6233/tcp, :::6233->6233/tcp, 2019/tcp seafile-caddy
ae0643c255cb memcached:1.6.29 "memcached -m 256" 47 hours ago Up 47 hours 11211/tcp seafile-memcached
7780e8f873fd mariadb:10.11 "docker-entrypoint.s…" 47 hours ago Up 47 hours (healthy) 3306/tcp seafile-mysql
bb0d42b4b7aa ghcr.io/immich-app/immich-server:release "tini -- /bin/bash s…" 3 months ago Up 3 days (healthy) 0.0.0.0:2283->2283/tcp, :::2283->2283/tcp immich_server
adc1daa4bd02 tensorchord/pgvecto-rs:pg14-v0.2.0 "docker-entrypoint.s…" 3 months ago Up 3 days (healthy) 5432/tcp
要看seafile 和 onlyoffice 的 yml 配置文件内容,保证 seafile 和 onlyoffice 在同一个容器网络中,后面 seahub_setting.py 的配置中可以直接使用容器名称。如果是单独的 IP 可以访问,也可以配置为单独的 IP 方式。你可以参考: docker-seafile-12.06 - 虚拟的现实 - 虚拟的现实 或者 docker-seafile-12.06 - 虚拟的现实 - 虚拟的现实
以下是seafile和onlyoffice的配置文件,可以帮忙看下怎么做到一个容器网络中?
onlyoffice的配置
cat onlyoffice.yml
---
services:
caddy:
ports:
- ${ONLYOFFICE_PORT:-6233}:${ONLYOFFICE_PORT:-6233}
onlyoffice:
image: ${ONLYOFFICE_IMAGE:-onlyoffice/documentserver:8.1.0.1}
restart: unless-stopped
container_name: seafile-onlyoffice
environment:
#- DB_TYPE=${DB_TYPE:-mariadb}
#- DB_HOST=${SEAFILE_MYSQL_DB_HOST:-db}
#- DB_USER=${SEAFILE_MYSQL_DB_USER:-seafile}
#- DB_PWD=${SEAFILE_MYSQL_DB_PASSWORD:?Variable is not set or empty}
- JWT_ENABLED=true
- JWT_SECRET=${ONLYOFFICE_JWT_SECRET:?Variable is not set or empty}
volumes:
- ${ONLYOFFICE_VOLUME:-/opt/onlyoffice}/logs:/var/log/onlyoffice
- ${ONLYOFFICE_VOLUME:-/opt/onlyoffice}/data:/var/www/onlyoffice/Data
- ${ONLYOFFICE_VOLUME:-/opt/onlyoffice}/lib:/var/lib/onlyoffice
- ${ONLYOFFICE_VOLUME:-/opt/onlyoffice}/etc/local-production-linux.json:/etc/onlyoffice/documentserver/local-production-linux.json
- ${ONLYOFFICE_VOLUME:-/opt/onlyoffice}/etc/default.json:/etc/onlyoffice/documentserver/default.json
labels:
caddy: ${SEAFILE_SERVER_PROTOCOL:-http}://${ONLYOFFICE_SEAFILE_SERVER_HOSTNAME:?Variable is not set or empty}:${ONLYOFFICE_PORT:-6233}
caddy.reverse_proxy: "{{upstreams}}"
networks:
- seafile-net
networks:
seafile-net:
name: seafile-net
seafile的配置
cat seafile-server.yml
services:
db:
image: ${SEAFILE_DB_IMAGE:-mariadb:10.11}
container_name: seafile-mysql
environment:
- MYSQL_ROOT_PASSWORD=${INIT_SEAFILE_MYSQL_ROOT_PASSWORD:-}
- MYSQL_LOG_CONSOLE=true
- MARIADB_AUTO_UPGRADE=1
volumes:
- "${SEAFILE_MYSQL_VOLUME:-/home/seafile/seafile-mysql/db}:/var/lib/mysql"
networks:
- seafile-net
healthcheck:
test:
[
"CMD",
"/usr/local/bin/healthcheck.sh",
"--connect",
"--mariadbupgrade",
"--innodb_initialized",
]
interval: 20s
start_period: 30s
timeout: 5s
retries: 10
memcached:
image: ${SEAFILE_MEMCACHED_IMAGE:-memcached:1.6.29}
container_name: seafile-memcached
entrypoint: memcached -m 256
networks:
- seafile-net
seafile:
image: ${SEAFILE_IMAGE:-seafileltd/seafile-mc:12.0-latest}
container_name: seafile
#ports:
# - "80:80"
volumes:
- ${SEAFILE_VOLUME:-/home/seafile/seafile-data}:/shared
- type: bind
source: /home/users/yangkai/share/seafile-fuse
target: /seafile-fuse
bind:
propagation: rshared
privileged: true
cap_add:
- SYS_ADMIN
environment:
- DB_HOST=${SEAFILE_MYSQL_DB_HOST:-db}
- DB_PORT=${SEAFILE_MYSQL_DB_PORT:-3306}
- DB_USER=${SEAFILE_MYSQL_DB_USER:-seafile}
- DB_ROOT_PASSWD=${INIT_SEAFILE_MYSQL_ROOT_PASSWORD:-}
- DB_PASSWORD=${SEAFILE_MYSQL_DB_PASSWORD:?Variable is not set or empty}
- SEAFILE_MYSQL_DB_CCNET_DB_NAME=${SEAFILE_MYSQL_DB_CCNET_DB_NAME:-ccnet_db}
- SEAFILE_MYSQL_DB_SEAFILE_DB_NAME=${SEAFILE_MYSQL_DB_SEAFILE_DB_NAME:-seafile_db}
- SEAFILE_MYSQL_DB_SEAHUB_DB_NAME=${SEAFILE_MYSQL_DB_SEAHUB_DB_NAME:-seahub_db}
- TIME_ZONE=${TIME_ZONE:-Etc/UTC}
- INIT_SEAFILE_ADMIN_EMAIL=${INIT_SEAFILE_ADMIN_EMAIL:-me@example.com}
- INIT_SEAFILE_ADMIN_PASSWORD=${INIT_SEAFILE_ADMIN_PASSWORD:-asecret}
- SEAFILE_SERVER_HOSTNAME=${SEAFILE_SERVER_HOSTNAME:?Variable is not set or empty}
- SEAFILE_SERVER_PROTOCOL=${SEAFILE_SERVER_PROTOCOL:-http}
- SITE_ROOT=${SITE_ROOT:-/}
- NON_ROOT=${NON_ROOT:-false}
- JWT_PRIVATE_KEY=${JWT_PRIVATE_KEY:?Variable is not set or empty}
- SEAFILE_LOG_TO_STDOUT=${SEAFILE_LOG_TO_STDOUT:-false}
- ENABLE_SEADOC=${ENABLE_SEADOC:-true}
- SEADOC_SERVER_URL=${SEAFILE_SERVER_PROTOCOL:-http}://${SEAFILE_SERVER_HOSTNAME:?Variable is not set or empty}/sdoc-server
labels:
caddy: ${SEAFILE_SERVER_PROTOCOL:-http}://${SEAFILE_SERVER_HOSTNAME:?Variable is not set or empty}
caddy.reverse_proxy: "{{upstreams 80}}"
depends_on:
db:
condition: service_healthy
memcached:
condition: service_started
networks:
- seafile-net
networks:
seafile-net:
name: seafile-net
这个配置是在同一个网络中了。有几个疑问:
1、这个 Seafile 的配置好像是 fuse 挂载盘的方式,不是正常的配置访问模式
2、加端口可以访问 onlyoffice 但从配置文件看并没开放 232XX 端口
3、另外 seahub_setting.py 的设置有关于 onlyoffice 的整合配置,类似于 ONLYOFFICE_APIJS_URL = 'http://192.168.182.52:6234/web-apps/apps/api/documents/api.js'
1、这个 Seafile 的配置好像是 fuse 挂载盘的方式,不是正常的配置访问模式
这个是为了方便在服务器上只读访问seafile文件,我尝试关闭Fuse ,onlyoffice 访问还是无效;
2、加端口可以访问 onlyoffice 但从配置文件看并没开放 232XX 端口
这个23244 是 通过域名绑定的
3、另外 seahub_setting.py 的设置有关于 onlyoffice 的整合配置,类似于 ONLYOFFICE_APIJS_URL = 'http://192.168.182.52:6234/web-apps/apps/api/documents/api.js'
seahub_setting配置如下:
单独访问这个地址是可以的
这里的设置为 ONLYOFFICE_JEW_SECRET 的内容一样再试试。如果不行估计要远程看日志调试才好判断