seafile12 与 seadoc1.0集成问题,打开sdoc文件提示“加载文档内容错错误”

seafile12二进制部署,seadoc是docker部署。
seadoc .env内容如下

COMPOSE_FILE=‘seadoc.yml’
COMPOSE_PATH_SEPARATOR=‘,’
SEADOC_IMAGE=seafileltd/sdoc-server:1.0-latest
SEADOC_VOLUME=/opt/seadoc-data
SEAFILE_MYSQL_DB_HOST=127.0.0.1
SEAFILE_MYSQL_DB_USER=seafile
SEAFILE_MYSQL_DB_PASSWORD=you@603207
TIME_ZONE=Etc/UTC
JWT_PRIVATE_KEY=Tui0AmCyzlTp00AfLeIA3R2ygkvh4hT5tNSg4GWE
SEAFILE_SERVER_HOSTNAME=sea.demo.com
SEAFILE_SERVER_PROTOCOL=http

seadoc seadoc.yaml 内容如下
services:

seadoc:
image: ${SEADOC_IMAGE:-seafileltd/sdoc-server:1.0-latest}
container_name: seadoc
volumes:
- ${SEADOC_VOLUME:-/opt/seadoc-data/}:/shared
ports:
- “8090:80”
environment:
- DB_HOST=${SEAFILE_MYSQL_DB_HOST:-db}
- DB_PORT=${SEAFILE_MYSQL_DB_PORT:-3306}
- DB_USER=${SEAFILE_MYSQL_DB_USER:-seafile}
- DB_PASSWORD=${SEAFILE_MYSQL_DB_PASSWORD:?Variable is not set or empty}
- DB_NAME=${SEADOC_MYSQL_DB_NAME:-seahub_db}
- TIME_ZONE=${TIME_ZONE:-Etc/UTC}
- NON_ROOT=${NON_ROOT:-false}
- JWT_PRIVATE_KEY=${JWT_PRIVATE_KEY:?Variable is not set or empty}
- SEAHUB_SERVICE_URL=${SEAFILE_SERVER_PROTOCOL:-http}://${SEAFILE_SERVER_HOSTNAME:?Variable is not set or empty}
networks:
- seafile-net

networks:
seafile-net:
name: seafile-net

seafile12 .env内容如下:
TIME_ZONE=Etc/UTC
JWT_PRIVATE_KEY=Tui0AmCyzlTp00AfLeIA3R2ygkvh4hT5tNSg4GWE
SEAFILE_SERVER_PROTOCOL=http
SEAFILE_SERVER_HOSTNAME=sea.demo.com #这里域名保持与访问的域名一致
SEAFILE_MYSQL_DB_HOST=127.0.0.1 #修改为自己主机IP地址
SEAFILE_MYSQL_DB_PORT=3306
SEAFILE_MYSQL_DB_USER=seafile
SEAFILE_MYSQL_DB_PASSWORD=you@603207 #数据库密码
SEAFILE_MYSQL_DB_CCNET_DB_NAME=ccnet_db
SEAFILE_MYSQL_DB_SEAFILE_DB_NAME=seafile_db
SEAFILE_MYSQL_DB_SEAHUB_DB_NAME=seahub_db
ENABLE_SEADOC=true
SEADOC_SERVER_URL=http://sea.demo.com/sdoc-server
nginx内容如下:

    location /sdoc-server/ {
    proxy_pass         http://127.0.0.1:8090/;
    proxy_redirect     off;
    proxy_set_header   Host              $host;
    proxy_set_header   X-Real-IP         $remote_addr;
    proxy_set_header   X-Forwarded-For   $proxy_add_x_forwarded_for;
    proxy_set_header   X-Forwarded-Host  $server_name;
    proxy_set_header   X-Forwarded-Proto $scheme;


    client_max_body_size 100m;
}


location /socket.io {
    proxy_pass http://127.0.0.1:8090;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection 'upgrade';
    proxy_redirect off;


    proxy_buffers 8 32k;
    proxy_buffer_size 64k;


    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_set_header X-NginX-Proxy true;
}

请高手指点哪里错了?

可以通过F12-网络中看下在打开sdoc文档时,有没有请求错误

1、先通过 http://sea.demo.com:8090 访问看看 sdoc 是否正常,如果这都不正常应该是 sdoc 容器启动存在问题
2、如果第一步正常再看看访问页面是否存在错误的请求,通过页面的(F12)错误提示结合 sdoc 的日志和容器内部 nginx 的日志同步分析具体的问题

1 个赞


seadoc 没有正确连接到数据库。你要检查下 seafile 配置的数据库用户名和密码的连接情况。

如果 seafile 是二进制安装而 seadoc 是容器安装的方式,那么 seadoc 连接数据库 127.0.0.1 是容器的主机地址而不是宿主机的地址,因此 seadoc 的数据库连接配置应该改成物理机的 IP 地址加端口的方式