docker 部署社区版Seafile CE 13.0 启动失败

请按照以下模版详细描述您遇到的问题:

当前服务器版本

服务器操作系统:Ubuntu 22.04.5 LTS

部署/操作过程(请说明二进制部署/docker部署;出现错误的操作步骤)

使用docker 部署,启动seafile-mysql 容器失败,报错:Error dependency db failed to start

错误截图

错误日志

docker compose 日志完整输出如下:

root@seafile:/opt/seafile# docker compose logs --follow
seafile-caddy  | {"level":"info","ts":1776764366.8356383,"logger":"docker-proxy","msg":"Running caddy proxy server"}
seafile-caddy  | {"level":"info","ts":1776764366.8374114,"logger":"admin","msg":"admin endpoint started","address":"localhost:2019","enforce_origin":false,"origins":["//localhost:2019","//[::1]:2019","//127.0.0.1:2019"]}
seafile-caddy  | {"level":"info","ts":1776764366.8375452,"msg":"autosaved config (load with --resume flag)","file":"/config/caddy/autosave.json"}
seafile-caddy  | {"level":"info","ts":1776764366.8375537,"logger":"docker-proxy","msg":"Running caddy proxy controller"}
seafile-redis  | 10:C 21 Apr 2026 09:39:26.752 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
seafile-redis  | 10:C 21 Apr 2026 09:39:26.752 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
seafile-redis  | 10:C 21 Apr 2026 09:39:26.752 * Redis version=8.6.2, bits=64, commit=00000000, modified=1, pid=10, just started
seafile-redis  | 10:C 21 Apr 2026 09:39:26.752 * Configuration loaded
seafile-redis  | 10:M 21 Apr 2026 09:39:26.753 * Increased maximum number of open files to 10032 (it was originally set to 1024).
seafile-redis  | 10:M 21 Apr 2026 09:39:26.753 * monotonic clock: POSIX clock_gettime
seafile-redis  | 10:M 21 Apr 2026 09:39:26.755 * Running mode=standalone, port=6379.
seafile-redis  | 10:M 21 Apr 2026 09:39:26.755 * Server initialized
seafile-redis  | 10:M 21 Apr 2026 09:39:26.756 * Ready to accept connections tcp
seafile-redis  | 10:M 21 Apr 2026 09:39:26.756 # WARNING: Redis does not require authentication and is not protected by network restrictions. Redis will accept connections from any IP address on any network interface.
seafile-mysql  | 2026-04-21 09:39:26+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:10.11.16+maria~ubu2204 started.
seafile-mysql  | 2026-04-21 09:39:27+00:00 [Warn] [Entrypoint]: /sys/fs/cgroup///memory.pressure not writable, functionality unavailable to MariaDB
seafile-mysql  | 2026-04-21 09:39:27+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
seafile-mysql  | 2026-04-21 09:39:27+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:10.11.16+maria~ubu2204 started.
seafile-mysql  | 2026-04-21 09:39:27+00:00 [Note] [Entrypoint]: MariaDB upgrade not required
seafile-mysql  | 2026-04-21  9:39:27 0 [Note] Starting MariaDB 10.11.16-MariaDB-ubu2204 source revision 3218602d3100db9ce7a875511a591cddc173cc16 server_uid uhMBvVmrb/LNCDlbmXF3TWuXRLk= as process 1
seafile-mysql  | 2026-04-21  9:39:27 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
seafile-mysql  | 2026-04-21  9:39:27 0 [Note] InnoDB: Number of transaction pools: 1
seafile-mysql  | 2026-04-21  9:39:27 0 [Note] InnoDB: Using AVX512 instructions
seafile-mysql  | 2026-04-21  9:39:27 0 [Note] mariadbd: O_TMPFILE is not supported on /tmp (disabling future attempts)
seafile-mysql  | 2026-04-21  9:39:27 0 [Warning] mariadbd: io_uring_queue_init() failed with EPERM: sysctl kernel.io_uring_disabled has the value 2, or 1 and the user of the process is not a member of sysctl kernel.io_uring_group. (see man 2 io_uring_setup).
seafile-mysql  | create_uring failed: falling back to libaio
seafile-mysql  | 2026-04-21  9:39:27 0 [Note] InnoDB: Using Linux native AIO
seafile-mysql  | 2026-04-21  9:39:27 0 [Note] InnoDB: innodb_buffer_pool_size_max=128m, innodb_buffer_pool_size=128m
seafile-mysql  | 2026-04-21  9:39:27 0 [Note] InnoDB: Completed initialization of buffer pool
seafile-mysql  | 2026-04-21  9:39:27 0 [Note] InnoDB: Buffered log writes (block size=512 bytes)
seafile-mysql  | 2026-04-21  9:39:27 0 [Note] InnoDB: End of log at LSN=44808
seafile-mysql  | 2026-04-21  9:39:27 0 [Note] InnoDB: 128 rollback segments are active.
seafile-mysql  | 2026-04-21  9:39:27 0 [Note] InnoDB: Setting file './ibtmp1' size to 12.000MiB. Physically writing the file full; Please wait ...
seafile-mysql  | 2026-04-21  9:39:27 0 [Note] InnoDB: File './ibtmp1' size is now 12.000MiB.
seafile-mysql  | 2026-04-21  9:39:27 0 [Note] InnoDB: log sequence number 44808; transaction id 14
seafile-mysql  | 2026-04-21  9:39:27 0 [Note] Plugin 'FEEDBACK' is disabled.
seafile-mysql  | 2026-04-21  9:39:27 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool
seafile-mysql  | 2026-04-21  9:39:27 0 [Warning] You need to use --log-bin to make --expire-logs-days or --binlog-expire-logs-seconds work.
seafile-mysql  | 2026-04-21  9:39:27 0 [Note] Server socket created on IP: '0.0.0.0', port: '3306'.
seafile-mysql  | 2026-04-21  9:39:27 0 [Note] Server socket created on IP: '::', port: '3306'.
seafile-mysql  | 2026-04-21  9:39:27 0 [Note] InnoDB: Buffer pool(s) load completed at 260421  9:39:27
seafile-mysql  | 2026-04-21  9:39:27 0 [Note] mariadbd: ready for connections.
seafile-mysql  | Version: '10.11.16-MariaDB-ubu2204'  socket: '/run/mysqld/mysqld.sock'  port: 3306  mariadb.org binary distribution
seafile-caddy  | {"level":"info","ts":1776764366.8382182,"logger":"docker-proxy","msg":"Start","CaddyfilePath":"","EnvFile":"","LabelPrefix":"caddy","PollingInterval":30,"ProxyServiceTasks":true,"ProcessCaddyfile":true,"ScanStoppedContainers":false,"IngressNetworks":"[seafile-net]","DockerSockets":[""],"DockerCertsPath":[""],"DockerAPIsVersion":[""],"CaddyfileAutosavePath":"/config/caddy/Caddyfile.autosave"}
seafile-caddy  | {"level":"info","ts":1776764366.8390672,"logger":"docker-proxy","msg":"Connecting to docker events","DockerSocket":""}
seafile-caddy  | {"level":"info","ts":1776764366.844835,"logger":"docker-proxy","msg":"Swarm is available","new":false}
seafile-caddy  | {"level":"info","ts":1776764366.8549774,"logger":"docker-proxy","msg":"New Caddyfile","caddyfile":"# Empty caddyfile"}
seafile-caddy  | {"level":"warn","ts":1776764366.8551347,"logger":"docker-proxy","msg":"Caddyfile to json warning","warn":"[Caddyfile:1: Caddyfile input is not formatted; run 'caddy fmt --overwrite' to fix inconsistencies]"}
seafile-caddy  | {"level":"info","ts":1776764366.8551426,"logger":"docker-proxy","msg":"New Config JSON","json":"{}"}
seafile-caddy  | {"level":"info","ts":1776764366.855255,"logger":"docker-proxy","msg":"Sending configuration to","server":"localhost"}
seafile-caddy  | {"level":"info","ts":1776764366.856013,"logger":"admin.api","msg":"received request","method":"POST","host":"localhost:2019","uri":"/load","remote_ip":"127.0.0.1","remote_port":"44566","headers":{"Accept-Encoding":["gzip"],"Content-Length":["41"],"Content-Type":["application/json"],"User-Agent":["Go-http-client/1.1"]}}
seafile-caddy  | {"level":"info","ts":1776764366.8560605,"msg":"config is unchanged"}
seafile-caddy  | {"level":"info","ts":1776764366.8560674,"logger":"admin.api","msg":"load complete"}
seafile-caddy  | {"level":"info","ts":1776764366.8561413,"logger":"docker-proxy","msg":"Successfully configured","server":"localhost"}

浏览器控制台错误信息(如果相关,请提供截图信息)

使用 docker exec 命令进入 seafile-mysql 容器后,使用 .env 中设置的root 密码可以登陆 mariadb。

手动执行check脚本报错:

直接执行脚本中的flock 命令报错:

修改seafile-server.yml,临时跳过db的healthcheck,再次启动docker compose

docker compose logs --follow 日志显示启动成功:

seafile        | [2026-04-21 10:42:33] Updating version stamp
seafile        |
seafile        | Starting seafile server, please wait ...
seafile        | Seafile server started
seafile        |
seafile        | Done.
seafile        |
seafile        | Starting seahub at port 8000 ...
seafile        |
seafile        |
seafile        |
seafile        | ----------------------------------------
seafile        | Successfully created seafile admin
seafile        | ----------------------------------------
seafile        |
seafile        |
seafile        |
seafile        |
seafile        | Seahub is started
seafile        |
seafile        | Done.
seafile        |

但是在Windows 上使用浏览器无法访问 http://192.168.21.237:8000

不好意思,因为我每次最多只能发1张图片,所以回复了多次。

完整的docker compose logs --follow 日志如下

seafile-redis  | 10:C 21 Apr 2026 10:42:05.400 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
seafile-redis  | 10:C 21 Apr 2026 10:42:05.400 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
seafile-redis  | 10:C 21 Apr 2026 10:42:05.400 * Redis version=8.6.2, bits=64, commit=00000000, modified=1, pid=10, just started
seafile-redis  | 10:C 21 Apr 2026 10:42:05.400 * Configuration loaded
seafile-redis  | 10:M 21 Apr 2026 10:42:05.401 * Increased maximum number of open files to 10032 (it was originally set to 1024).
seafile-redis  | 10:M 21 Apr 2026 10:42:05.401 * monotonic clock: POSIX clock_gettime
seafile-redis  | 10:M 21 Apr 2026 10:42:05.401 * Running mode=standalone, port=6379.
seafile-redis  | 10:M 21 Apr 2026 10:42:05.401 * Server initialized
seafile-redis  | 10:M 21 Apr 2026 10:42:05.401 * Ready to accept connections tcp
seafile-redis  | 10:M 21 Apr 2026 10:42:05.401 # WARNING: Redis does not require authentication and is not protected by network restrictions. Redis will accept connections from any IP address on any network interface.
seafile-mysql  | 2026-04-21 10:42:05+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:10.11.16+maria~ubu2204 started.
seafile-caddy  | {"level":"info","ts":1776768125.5101748,"logger":"docker-proxy","msg":"Running caddy proxy server"}
seafile-caddy  | {"level":"info","ts":1776768125.5110984,"logger":"admin","msg":"admin endpoint started","address":"localhost:2019","enforce_origin":false,"origins":["//localhost:2019","//[::1]:2019","//127.0.0.1:2019"]}
seafile-caddy  | {"level":"info","ts":1776768125.5112493,"msg":"autosaved config (load with --resume flag)","file":"/config/caddy/autosave.json"}
seafile-caddy  | {"level":"info","ts":1776768125.511332,"logger":"docker-proxy","msg":"Running caddy proxy controller"}
seafile-caddy  | {"level":"info","ts":1776768125.5120223,"logger":"docker-proxy","msg":"Start","CaddyfilePath":"","EnvFile":"","LabelPrefix":"caddy","PollingInterval":30,"ProxyServiceTasks":true,"ProcessCaddyfile":true,"ScanStoppedContainers":false,"IngressNetworks":"[seafile-net]","DockerSockets":[""],"DockerCertsPath":[""],"DockerAPIsVersion":[""],"CaddyfileAutosavePath":"/config/caddy/Caddyfile.autosave"}
seafile-caddy  | {"level":"info","ts":1776768125.5124288,"logger":"docker-proxy","msg":"Connecting to docker events","DockerSocket":""}
seafile-caddy  | {"level":"info","ts":1776768125.5175076,"logger":"docker-proxy","msg":"Swarm is available","new":false}
seafile-caddy  | {"level":"info","ts":1776768125.5263114,"logger":"docker-proxy","msg":"New Caddyfile","caddyfile":"# Empty caddyfile"}
seafile-caddy  | {"level":"warn","ts":1776768125.526548,"logger":"docker-proxy","msg":"Caddyfile to json warning","warn":"[Caddyfile:1: Caddyfile input is not formatted; run 'caddy fmt --overwrite' to fix inconsistencies]"}
seafile-caddy  | {"level":"info","ts":1776768125.5265565,"logger":"docker-proxy","msg":"New Config JSON","json":"{}"}
seafile-caddy  | {"level":"info","ts":1776768125.5265806,"logger":"docker-proxy","msg":"Sending configuration to","server":"localhost"}
seafile-caddy  | {"level":"info","ts":1776768125.5270858,"logger":"admin.api","msg":"received request","method":"POST","host":"localhost:2019","uri":"/load","remote_ip":"127.0.0.1","remote_port":"41140","headers":{"Accept-Encoding":["gzip"],"Content-Length":["41"],"Content-Type":["application/json"],"User-Agent":["Go-http-client/1.1"]}}
seafile-caddy  | {"level":"info","ts":1776768125.5271294,"msg":"config is unchanged"}
seafile-caddy  | {"level":"info","ts":1776768125.5271401,"logger":"admin.api","msg":"load complete"}
seafile-caddy  | {"level":"info","ts":1776768125.5272112,"logger":"docker-proxy","msg":"Successfully configured","server":"localhost"}
seafile-mysql  | 2026-04-21 10:42:05+00:00 [Warn] [Entrypoint]: /sys/fs/cgroup///memory.pressure not writable, functionality unavailable to MariaDB
seafile-mysql  | 2026-04-21 10:42:05+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
seafile-mysql  | 2026-04-21 10:42:05+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:10.11.16+maria~ubu2204 started.
seafile-mysql  | 2026-04-21 10:42:06+00:00 [Note] [Entrypoint]: MariaDB upgrade not required
seafile-mysql  | 2026-04-21 10:42:06 0 [Note] Starting MariaDB 10.11.16-MariaDB-ubu2204 source revision 3218602d3100db9ce7a875511a591cddc173cc16 server_uid va2dTBeYpi0JZgssSEAo4l/s51Q= as process 1
seafile-mysql  | 2026-04-21 10:42:06 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
seafile-mysql  | 2026-04-21 10:42:06 0 [Note] InnoDB: Number of transaction pools: 1
seafile-mysql  | 2026-04-21 10:42:06 0 [Note] InnoDB: Using AVX512 instructions
seafile-mysql  | 2026-04-21 10:42:06 0 [Note] mariadbd: O_TMPFILE is not supported on /tmp (disabling future attempts)
seafile-mysql  | 2026-04-21 10:42:06 0 [Warning] mariadbd: io_uring_queue_init() failed with EPERM: sysctl kernel.io_uring_disabled has the value 2, or 1 and the user of the process is not a member of sysctl kernel.io_uring_group. (see man 2 io_uring_setup).
seafile-mysql  | create_uring failed: falling back to libaio
seafile-mysql  | 2026-04-21 10:42:06 0 [Note] InnoDB: Using Linux native AIO
seafile-mysql  | 2026-04-21 10:42:06 0 [Note] InnoDB: innodb_buffer_pool_size_max=128m, innodb_buffer_pool_size=128m
seafile-mysql  | 2026-04-21 10:42:06 0 [Note] InnoDB: Completed initialization of buffer pool
seafile-mysql  | 2026-04-21 10:42:06 0 [Note] InnoDB: Buffered log writes (block size=512 bytes)
seafile-mysql  | 2026-04-21 10:42:06 0 [Note] InnoDB: End of log at LSN=44808
seafile-mysql  | 2026-04-21 10:42:06 0 [Note] InnoDB: 128 rollback segments are active.
seafile-mysql  | 2026-04-21 10:42:06 0 [Note] InnoDB: Setting file './ibtmp1' size to 12.000MiB. Physically writing the file full; Please wait ...
seafile-mysql  | 2026-04-21 10:42:06 0 [Note] InnoDB: File './ibtmp1' size is now 12.000MiB.
seafile-mysql  | 2026-04-21 10:42:06 0 [Note] InnoDB: log sequence number 44808; transaction id 14
seafile-mysql  | 2026-04-21 10:42:06 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool
seafile-mysql  | 2026-04-21 10:42:06 0 [Note] Plugin 'FEEDBACK' is disabled.
seafile-mysql  | 2026-04-21 10:42:06 0 [Warning] You need to use --log-bin to make --expire-logs-days or --binlog-expire-logs-seconds work.
seafile-mysql  | 2026-04-21 10:42:06 0 [Note] Server socket created on IP: '0.0.0.0', port: '3306'.
seafile-mysql  | 2026-04-21 10:42:06 0 [Note] Server socket created on IP: '::', port: '3306'.
seafile-mysql  | 2026-04-21 10:42:06 0 [Note] InnoDB: Buffer pool(s) load completed at 260421 10:42:06
seafile-mysql  | 2026-04-21 10:42:06 0 [Note] mariadbd: ready for connections.
seafile-mysql  | Version: '10.11.16-MariaDB-ubu2204'  socket: '/run/mysqld/mysqld.sock'  port: 3306  mariadb.org binary distribution
seafile        | *** Running /etc/my_init.d/01_create_data_links.sh...
seadoc         | *** Running /etc/my_init.d/01_init.sh...
seadoc         | *** Booting runit daemon...
seadoc         | *** Runit started as PID 11
seadoc         | *** Running /scripts/enterpoint.sh...
seadoc         | 2026-04-21 10:42:11 Nginx ready
seadoc         | 2026-04-21 10:42:11 This is an idle script (infinite loop) to keep container running.
seafile-caddy  | {"level":"info","ts":1776768131.1823587,"logger":"docker-proxy","msg":"New Caddyfile","caddyfile":"http://seafile.guangzhou.lan {\n\thandle_path /socket.io/* {\n\t\trewrite * /socket.io{uri}\n\t\treverse_proxy 172.18.0.6:80\n\t}\n\thandle_path /sdoc-server/* {\n\t\trewrite * {uri}\n\t\treverse_proxy 172.18.0.6:80\n\t}\n\treverse_proxy 172.18.0.5:80\n}\n"}
seafile-caddy  | {"level":"info","ts":1776768131.182799,"logger":"docker-proxy","msg":"New Config JSON","json":"{\"apps\":{\"http\":{\"servers\":{\"srv0\":{\"listen\":[\":80\"],\"routes\":[{\"match\":[{\"host\":[\"seafile.guangzhou.lan\"]}],\"handle\":[{\"handler\":\"subroute\",\"routes\":[{\"group\":\"group2\",\"handle\":[{\"handler\":\"subroute\",\"routes\":[{\"handle\":[{\"handler\":\"rewrite\",\"strip_path_prefix\":\"/sdoc-server\"}]},{\"group\":\"group1\",\"handle\":[{\"handler\":\"rewrite\",\"uri\":\"{http.request.uri}\"}]},{\"handle\":[{\"handler\":\"reverse_proxy\",\"upstreams\":[{\"dial\":\"172.18.0.6:80\"}]}]}]}],\"match\":[{\"path\":[\"/sdoc-server/*\"]}]},{\"group\":\"group2\",\"handle\":[{\"handler\":\"subroute\",\"routes\":[{\"handle\":[{\"handler\":\"rewrite\",\"strip_path_prefix\":\"/socket.io\"}]},{\"group\":\"group0\",\"handle\":[{\"handler\":\"rewrite\",\"uri\":\"/socket.io{http.request.uri}\"}]},{\"handle\":[{\"handler\":\"reverse_proxy\",\"upstreams\":[{\"dial\":\"172.18.0.6:80\"}]}]}]}],\"match\":[{\"path\":[\"/socket.io/*\"]}]},{\"handle\":[{\"handler\":\"reverse_proxy\",\"upstreams\":[{\"dial\":\"172.18.0.5:80\"}]}]}]}],\"terminal\":true}]}}}}}"}
seafile-caddy  | {"level":"info","ts":1776768131.1828268,"logger":"docker-proxy","msg":"Sending configuration to","server":"localhost"}
seafile-caddy  | {"level":"info","ts":1776768131.1829708,"logger":"admin.api","msg":"received request","method":"POST","host":"localhost:2019","uri":"/load","remote_ip":"127.0.0.1","remote_port":"41140","headers":{"Accept-Encoding":["gzip"],"Content-Length":["964"],"Content-Type":["application/json"],"User-Agent":["Go-http-client/1.1"]}}
seafile-caddy  | {"level":"info","ts":1776768131.1835957,"logger":"admin","msg":"admin endpoint started","address":"localhost:2019","enforce_origin":false,"origins":["//localhost:2019","//[::1]:2019","//127.0.0.1:2019"]}
seafile-caddy  | {"level":"info","ts":1776768131.183969,"logger":"tls.cache.maintenance","msg":"started background certificate maintenance","cache":"0xc0001ebd00"}
seafile-caddy  | {"level":"warn","ts":1776768131.1840677,"logger":"http.auto_https","msg":"server is listening only on the HTTP port, so no automatic HTTPS will be applied to this server","server_name":"srv0","http_port":80}
seafile-caddy  | {"level":"warn","ts":1776768131.1855898,"logger":"http","msg":"HTTP/2 skipped because it requires TLS","network":"tcp","addr":":80"}
seafile-caddy  | {"level":"warn","ts":1776768131.1855998,"logger":"http","msg":"HTTP/3 skipped because it requires TLS","network":"tcp","addr":":80"}
seafile-caddy  | {"level":"info","ts":1776768131.1856017,"logger":"http.log","msg":"server running","name":"srv0","protocols":["h1","h2","h3"]}
seafile-caddy  | {"level":"info","ts":1776768131.1861854,"msg":"autosaved config (load with --resume flag)","file":"/config/caddy/autosave.json"}
seafile-caddy  | {"level":"info","ts":1776768131.1861947,"logger":"admin.api","msg":"load complete"}
seafile-caddy  | {"level":"info","ts":1776768131.1862838,"logger":"docker-proxy","msg":"Successfully configured","server":"localhost"}
seafile-caddy  | {"level":"info","ts":1776768131.1884298,"logger":"admin","msg":"stopped previous server","address":"localhost:2019"}
seafile-caddy  | {"level":"info","ts":1776768131.1896021,"logger":"tls","msg":"storage cleaning happened too recently; skipping for now","storage":"FileStorage:/data/caddy","instance":"3a4acb38-1823-478d-afc4-5ab082e0621a","try_again":1776854531.189597,"try_again_in":86399.9999997}
seafile-caddy  | {"level":"info","ts":1776768131.189644,"logger":"tls","msg":"finished cleaning storage units"}
seafile        | *** Booting runit daemon...
seafile        | *** Runit started as PID 11
seafile        | *** Running /scripts/enterpoint.sh...
seafile        | 2026-04-21 10:42:11 Nginx ready
seafile        | nginx: [warn] conflicting server name "" on 0.0.0.0:80, ignored
seafile        | 2026-04-21 10:42:11 This is an idle script (infinite loop) to keep container running.
seafile        | nginx: [warn] conflicting server name "" on 0.0.0.0:80, ignored
seafile-mysql  | 2026-04-21 10:42:11 3 [Warning] Access denied for user 'seafile'@'172.18.0.5' (using password: YES)
seafile        | [2026-04-21 10:42:11] Now running setup-seafile-mysql.py in auto mode.
seafile        | Checking python on this machine ...
seafile        |
seadoc         | sdoc-server started
seadoc         |
seadoc         | [2026-04-21 10:42:12] Start Monitor
seadoc         | server is serve on http://127.0.0.1:7070
seafile        |
seafile        | verifying password of user root ...  done
seafile        |
seafile        | ---------------------------------
seafile        | This is your configuration
seafile        | ---------------------------------
seafile        |
seafile        |     server name:            seafile
seafile        |     server ip/domain:       seafile.guangzhou.lan
seafile        |
seafile        |     seafile data dir:       /opt/seafile/seafile-data
seafile        |     fileserver port:        8082
seafile        |
seafile        |     database:               create new
seafile        |     ccnet database:         ccnet_db
seafile        |     seafile database:       seafile_db
seafile        |     seahub database:        seahub_db
seafile        |     database user:          seafile
seafile        |
seafile        |
seafile        | Generating seafile configuration ...
seafile        |
seafile        | done
seafile        | Generating seahub configuration ...
seafile        |
seafile        | ----------------------------------------
seafile        | Now creating seafevents database tables ...
seafile        |
seafile        | ----------------------------------------
seafile        | ----------------------------------------
seafile        | Now creating ccnet database tables ...
seafile        |
seafile        | ----------------------------------------
seafile        | ----------------------------------------
seafile        | Now creating seafile database tables ...
seafile        |
seafile        | ----------------------------------------
seafile        | ----------------------------------------
seafile        | Now creating seahub database tables ...
seafile        |
seafile        | ----------------------------------------
seafile        |
seafile        | creating seafile-server-latest symbolic link ...  done
seafile        |
seafile        |
seafile        |
seafile        |
seafile        | -----------------------------------------------------------------
seafile        | Your seafile server configuration has been finished successfully.
seafile        | -----------------------------------------------------------------
seafile        |
seafile        | run seafile server:     ./seafile.sh { start | stop | restart }
seafile        | run seahub  server:     ./seahub.sh  { start <port> | stop | restart <port> }
seafile        |
seafile        | -----------------------------------------------------------------
seafile        | If you are behind a firewall, remember to allow input/output of these tcp ports:
seafile        | -----------------------------------------------------------------
seafile        |
seafile        | port of seafile fileserver:   8082
seafile        | port of seahub:               8000
seafile        |
seafile        | When problems occur, Refer to
seafile        |
seafile        |         https://download.seafile.com/published/seafile-manual/home.md
seafile        |
seafile        | for information.
seafile        |
seafile        |
seafile        | [2026-04-21 10:42:33] Updating version stamp
seafile        |
seafile        | Starting seafile server, please wait ...
seafile        | Seafile server started
seafile        |
seafile        | Done.
seafile        |
seafile        | Starting seahub at port 8000 ...
seafile        |
seafile        |
seafile        |
seafile        | ----------------------------------------
seafile        | Successfully created seafile admin
seafile        | ----------------------------------------
seafile        |
seafile        |
seafile        |
seafile        |
seafile        | Seahub is started
seafile        |
seafile        | Done.
seafile        |

使用Windows 客户端添加账号报 网络连接被拒绝 错误。

使用Windows 命令行ping seafile 服务器IP 可以ping 通

C:\Users\abc>ping 192.168.21.237

正在 Ping 192.168.21.237 具有 32 字节的数据:
来自 192.168.21.237 的回复: 字节=32 时间=1ms TTL=63
来自 192.168.21.237 的回复: 字节=32 时间=2ms TTL=63
来自 192.168.21.237 的回复: 字节=32 时间=3ms TTL=63
来自 192.168.21.237 的回复: 字节=32 时间=2ms TTL=63

192.168.21.237 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 1ms,最长 = 3ms,平均 = 2ms

C:\Users\abc>

我看你这边没有使用标准的 80 端口。
修改标准端口参考下面的方法:
1.修改 caddy.yml

services:

  caddy:
    image: ${SEAFILE_CADDY_IMAGE:-lucaslorentz/caddy-docker-proxy:2.9-alpine}
    restart: unless-stopped
    container_name: seafile-caddy
    ports:
      - 80:80
      - 5200:5200(这里修改为你的端口)
    environment:
      - CADDY_INGRESS_NETWORKS=seafile-net
...

2.修改 env 文件

...
## Scheme
SEAFILE_SERVER_HOSTNAME=你的域名:你的非标准端口
SEAFILE_SERVER_PROTOCOL=http
...

最后清空数据后重启服务。

你好,我更改 .env 和 caddy.yml 后,运行 docker compose downdocker compose up -d 重启服务后访问失败。

.env 部分配置如下:

SEAFILE_SERVER_HOSTNAME=seafile.guangzhou.lan:5200
SEAFILE_SERVER_PROTOCOL=http

caddy.yml 配置如下:

services:

caddy:
image: ${SEAFILE_CADDY_IMAGE:-lucaslorentz/caddy-docker-proxy:2.12-alpine}
restart: unless-stopped
container_name: seafile-caddy
ports:

  • 80:80
  • 5200:5200
    environment:
  • CADDY_INGRESS_NETWORKS=seafile-net
    volumes:
  • /var/run/docker.sock:/var/run/docker.sock
  • ${SEAFILE_CADDY_VOLUME:-/opt/seafile-caddy}:/data/caddy
    networks:
  • seafile-net
    healthcheck:
    test: [“CMD-SHELL”, “curl --fail http://localhost:2019/metrics || exit 1”]
    start_period: 20s
    interval: 20s
    timeout: 5s
    retries: 3

networks:
seafile-net:
name: seafile-net

seafile 服务器主机名:

root@seafile:~# hostname
seafile.guangzhou.lan

客户端添加账号报登陆失败

完整的 docker compose logs -f 输出如下:

root@seafile:/opt/seafile# docker compose logs -f
seafile-mysql  | 2026-04-22 05:17:33+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:10.11.16+maria~ubu2204 started.
seafile-mysql  | 2026-04-22 05:17:33+00:00 [Warn] [Entrypoint]: /sys/fs/cgroup///memory.pressure not writable, functionality unavailable to MariaDB
seafile-mysql  | 2026-04-22 05:17:33+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
seafile-mysql  | 2026-04-22 05:17:33+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:10.11.16+maria~ubu2204 started.
seafile-mysql  | 2026-04-22 05:17:34+00:00 [Note] [Entrypoint]: MariaDB upgrade not required
seafile-mysql  | 2026-04-22  5:17:34 0 [Note] Starting MariaDB 10.11.16-MariaDB-ubu2204 source revision 3218602d3100db9ce7a875511a591cddc173cc16 server_uid llfBpsPVH5fDjBGZH3DMcvAQzUo= as process 1
seafile-mysql  | 2026-04-22  5:17:34 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
seafile-mysql  | 2026-04-22  5:17:34 0 [Note] InnoDB: Number of transaction pools: 1
seafile-mysql  | 2026-04-22  5:17:34 0 [Note] InnoDB: Using AVX512 instructions
seafile-mysql  | 2026-04-22  5:17:34 0 [Note] mariadbd: O_TMPFILE is not supported on /tmp (disabling future attempts)
seafile-mysql  | 2026-04-22  5:17:34 0 [Warning] mariadbd: io_uring_queue_init() failed with EPERM: sysctl kernel.io_uring_disabled has the value 2, or 1 and the user of the process is not a member of sysctl kernel.io_uring_group. (see man 2 io_uring_setup).
seafile-mysql  | create_uring failed: falling back to libaio
seafile-mysql  | 2026-04-22  5:17:34 0 [Note] InnoDB: Using Linux native AIO
seafile-mysql  | 2026-04-22  5:17:34 0 [Note] InnoDB: innodb_buffer_pool_size_max=128m, innodb_buffer_pool_size=128m
seafile-mysql  | 2026-04-22  5:17:34 0 [Note] InnoDB: Completed initialization of buffer pool
seafile-mysql  | 2026-04-22  5:17:34 0 [Note] InnoDB: Buffered log writes (block size=512 bytes)
seafile-mysql  | 2026-04-22  5:17:34 0 [Note] InnoDB: End of log at LSN=1203562
seafile-caddy  | {"level":"info","ts":1776835053.356697,"logger":"docker-proxy","msg":"Running caddy proxy server"}
seafile-caddy  | {"level":"info","ts":1776835053.3575153,"logger":"admin","msg":"admin endpoint started","address":"localhost:2019","enforce_origin":false,"origins":["//localhost:2019","//[::1]:2019","//127.0.0.1:2019"]}
seafile-caddy  | {"level":"info","ts":1776835053.357685,"msg":"autosaved config (load with --resume flag)","file":"/config/caddy/autosave.json"}
seafile-caddy  | {"level":"info","ts":1776835053.357694,"logger":"docker-proxy","msg":"Running caddy proxy controller"}
seafile-caddy  | {"level":"info","ts":1776835053.3581398,"logger":"docker-proxy","msg":"Start","CaddyfilePath":"","EnvFile":"","LabelPrefix":"caddy","PollingInterval":30,"ProxyServiceTasks":true,"ProcessCaddyfile":true,"ScanStoppedContainers":false,"IngressNetworks":"[seafile-net]","DockerSockets":[""],"DockerCertsPath":[""],"DockerAPIsVersion":[""],"CaddyfileAutosavePath":"/config/caddy/Caddyfile.autosave"}
seafile-caddy  | {"level":"info","ts":1776835053.358543,"logger":"docker-proxy","msg":"Connecting to docker events","DockerSocket":""}
seafile-caddy  | {"level":"info","ts":1776835053.3642926,"logger":"docker-proxy","msg":"Swarm is available","new":false}
seafile-caddy  | {"level":"info","ts":1776835053.3732371,"logger":"docker-proxy","msg":"New Caddyfile","caddyfile":"# Empty caddyfile"}
seafile-caddy  | {"level":"warn","ts":1776835053.373396,"logger":"docker-proxy","msg":"Caddyfile to json warning","warn":"[Caddyfile:1: Caddyfile input is not formatted; run 'caddy fmt --overwrite' to fix inconsistencies]"}
seafile-caddy  | {"level":"info","ts":1776835053.3734043,"logger":"docker-proxy","msg":"New Config JSON","json":"{}"}
seafile-caddy  | {"level":"info","ts":1776835053.3734295,"logger":"docker-proxy","msg":"Sending configuration to","server":"localhost"}
seafile-caddy  | {"level":"info","ts":1776835053.3739161,"logger":"admin.api","msg":"received request","method":"POST","host":"localhost:2019","uri":"/load","remote_ip":"127.0.0.1","remote_port":"41170","headers":{"Accept-Encoding":["gzip"],"Content-Length":["41"],"Content-Type":["application/json"],"User-Agent":["Go-http-client/1.1"]}}
seafile-caddy  | {"level":"info","ts":1776835053.373946,"msg":"config is unchanged"}
seafile-caddy  | {"level":"info","ts":1776835053.3739514,"logger":"admin.api","msg":"load complete"}
seafile-caddy  | {"level":"info","ts":1776835053.3740296,"logger":"docker-proxy","msg":"Successfully configured","server":"localhost"}
seafile-redis  | 10:C 22 Apr 2026 05:17:33.282 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
seafile-redis  | 10:C 22 Apr 2026 05:17:33.282 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
seafile-redis  | 10:C 22 Apr 2026 05:17:33.282 * Redis version=8.6.2, bits=64, commit=00000000, modified=1, pid=10, just started
seafile-redis  | 10:C 22 Apr 2026 05:17:33.282 * Configuration loaded
seafile-redis  | 10:M 22 Apr 2026 05:17:33.282 * Increased maximum number of open files to 10032 (it was originally set to 1024).
seafile-redis  | 10:M 22 Apr 2026 05:17:33.282 * monotonic clock: POSIX clock_gettime
seafile-redis  | 10:M 22 Apr 2026 05:17:33.283 * Running mode=standalone, port=6379.
seafile-redis  | 10:M 22 Apr 2026 05:17:33.283 * Server initialized
seafile-redis  | 10:M 22 Apr 2026 05:17:33.283 * Ready to accept connections tcp
seafile-redis  | 10:M 22 Apr 2026 05:17:33.283 # WARNING: Redis does not require authentication and is not protected by network restrictions. Redis will accept connections from any IP address on any network interface.
seafile-mysql  | 2026-04-22  5:17:34 0 [Note] InnoDB: 128 rollback segments are active.
seafile-mysql  | 2026-04-22  5:17:34 0 [Note] InnoDB: Setting file './ibtmp1' size to 12.000MiB. Physically writing the file full; Please wait ...
seafile-mysql  | 2026-04-22  5:17:34 0 [Note] InnoDB: File './ibtmp1' size is now 12.000MiB.
seafile-mysql  | 2026-04-22  5:17:34 0 [Note] InnoDB: log sequence number 1203562; transaction id 817
seafile-mysql  | 2026-04-22  5:17:34 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool
seafile-mysql  | 2026-04-22  5:17:34 0 [Note] Plugin 'FEEDBACK' is disabled.
seafile-mysql  | 2026-04-22  5:17:34 0 [Warning] You need to use --log-bin to make --expire-logs-days or --binlog-expire-logs-seconds work.
seafile-mysql  | 2026-04-22  5:17:34 0 [Note] Server socket created on IP: '0.0.0.0', port: '3306'.
seafile-mysql  | 2026-04-22  5:17:34 0 [Note] Server socket created on IP: '::', port: '3306'.
seafile-mysql  | 2026-04-22  5:17:34 0 [Note] mariadbd: ready for connections.
seafile-mysql  | Version: '10.11.16-MariaDB-ubu2204'  socket: '/run/mysqld/mysqld.sock'  port: 3306  mariadb.org binary distribution
seafile-mysql  | 2026-04-22  5:17:34 0 [Note] InnoDB: Buffer pool(s) load completed at 260422  5:17:34
seafile        | *** Running /etc/my_init.d/01_create_data_links.sh...
seafile        | *** Booting runit daemon...
seafile        | *** Runit started as PID 15
seafile        | *** Running /scripts/enterpoint.sh...
seafile        | 2026-04-22 05:17:39 Nginx ready
seafile        | nginx: [warn] conflicting server name "" on 0.0.0.0:80, ignored
seadoc         | *** Running /etc/my_init.d/01_init.sh...
seadoc         | *** Booting runit daemon...
seadoc         | *** Runit started as PID 11
seadoc         | *** Running /scripts/enterpoint.sh...
seadoc         | 2026-04-22 05:17:39 Nginx ready
seadoc         | 2026-04-22 05:17:39 This is an idle script (infinite loop) to keep container running.
seafile        | 2026-04-22 05:17:39 This is an idle script (infinite loop) to keep container running.
seafile-caddy  | {"level":"info","ts":1776835059.0818295,"logger":"docker-proxy","msg":"New Caddyfile","caddyfile":"http://seafile.guangzhou.lan:5200 {\n\thandle_path /socket.io/* {\n\t\trewrite * /socket.io{uri}\n\t\treverse_proxy 172.18.0.6:80\n\t}\n\thandle_path /sdoc-server/* {\n\t\trewrite * {uri}\n\t\treverse_proxy 172.18.0.6:80\n\t}\n\treverse_proxy 172.18.0.5:80\n}\n"}
seafile-caddy  | {"level":"info","ts":1776835059.0823767,"logger":"docker-proxy","msg":"New Config JSON","json":"{\"apps\":{\"http\":{\"servers\":{\"srv0\":{\"listen\":[\":5200\"],\"routes\":[{\"match\":[{\"host\":[\"seafile.guangzhou.lan\"]}],\"handle\":[{\"handler\":\"subroute\",\"routes\":[{\"group\":\"group2\",\"handle\":[{\"handler\":\"subroute\",\"routes\":[{\"handle\":[{\"handler\":\"rewrite\",\"strip_path_prefix\":\"/sdoc-server\"}]},{\"group\":\"group1\",\"handle\":[{\"handler\":\"rewrite\",\"uri\":\"{http.request.uri}\"}]},{\"handle\":[{\"handler\":\"reverse_proxy\",\"upstreams\":[{\"dial\":\"172.18.0.6:80\"}]}]}]}],\"match\":[{\"path\":[\"/sdoc-server/*\"]}]},{\"group\":\"group2\",\"handle\":[{\"handler\":\"subroute\",\"routes\":[{\"handle\":[{\"handler\":\"rewrite\",\"strip_path_prefix\":\"/socket.io\"}]},{\"group\":\"group0\",\"handle\":[{\"handler\":\"rewrite\",\"uri\":\"/socket.io{http.request.uri}\"}]},{\"handle\":[{\"handler\":\"reverse_proxy\",\"upstreams\":[{\"dial\":\"172.18.0.6:80\"}]}]}]}],\"match\":[{\"path\":[\"/socket.io/*\"]}]},{\"handle\":[{\"handler\":\"reverse_proxy\",\"upstreams\":[{\"dial\":\"172.18.0.5:80\"}]}]}]}],\"terminal\":true}],\"automatic_https\":{\"skip\":[\"seafile.guangzhou.lan\"]}}}}}}"}
seafile-caddy  | {"level":"info","ts":1776835059.0824118,"logger":"docker-proxy","msg":"Sending configuration to","server":"localhost"}
seafile-caddy  | {"level":"info","ts":1776835059.0826027,"logger":"admin.api","msg":"received request","method":"POST","host":"localhost:2019","uri":"/load","remote_ip":"127.0.0.1","remote_port":"41170","headers":{"Accept-Encoding":["gzip"],"Content-Length":["1019"],"Content-Type":["application/json"],"User-Agent":["Go-http-client/1.1"]}}
seafile-caddy  | {"level":"info","ts":1776835059.0842333,"logger":"admin","msg":"admin endpoint started","address":"localhost:2019","enforce_origin":false,"origins":["//localhost:2019","//[::1]:2019","//127.0.0.1:2019"]}
seafile-caddy  | {"level":"info","ts":1776835059.0844479,"logger":"tls.cache.maintenance","msg":"started background certificate maintenance","cache":"0xc0001ecb00"}
seafile-caddy  | {"level":"warn","ts":1776835059.084743,"logger":"http","msg":"HTTP/2 skipped because it requires TLS","network":"tcp","addr":":5200"}
seafile-caddy  | {"level":"warn","ts":1776835059.0847535,"logger":"http","msg":"HTTP/3 skipped because it requires TLS","network":"tcp","addr":":5200"}
seafile-caddy  | {"level":"info","ts":1776835059.0847557,"logger":"http.log","msg":"server running","name":"srv0","protocols":["h1","h2","h3"]}
seafile-caddy  | {"level":"info","ts":1776835059.0848424,"msg":"autosaved config (load with --resume flag)","file":"/config/caddy/autosave.json"}
seafile-caddy  | {"level":"info","ts":1776835059.084849,"logger":"admin.api","msg":"load complete"}
seafile-caddy  | {"level":"info","ts":1776835059.0849895,"logger":"docker-proxy","msg":"Successfully configured","server":"localhost"}
seafile-caddy  | {"level":"info","ts":1776835059.0860755,"logger":"admin","msg":"stopped previous server","address":"localhost:2019"}
seafile-caddy  | {"level":"info","ts":1776835059.0878267,"logger":"tls","msg":"storage cleaning happened too recently; skipping for now","storage":"FileStorage:/data/caddy","instance":"3a4acb38-1823-478d-afc4-5ab082e0621a","try_again":1776921459.0878253,"try_again_in":86399.999999743}
seafile-caddy  | {"level":"info","ts":1776835059.087872,"logger":"tls","msg":"finished cleaning storage units"}
seafile        | nginx: [warn] conflicting server name "" on 0.0.0.0:80, ignored
seafile        | [2026-04-22 05:17:39] Skip running setup-seafile-mysql.py because there is existing seafile-data folder.
seafile        | [04/22/2026 05:17:39][upgrade]: The container was recreated, start fix the media symlinks
seafile        | mv: not replacing '/shared/seafile/seahub-data/avatars/default-non-register.jpg'
seafile        | mv: not replacing '/shared/seafile/seahub-data/avatars/default.png'
seafile        | mv: not replacing '/shared/seafile/seahub-data/avatars/groups'
seafile        | [04/22/2026 05:17:39][upgrade]: Done
seafile        |
seafile        | Starting seafile server, please wait ...
seadoc         | server is serve on http://127.0.0.1:7070
seadoc         | sdoc-server started
seadoc         |
seadoc         | [2026-04-22 05:17:39] Start Monitor
seafile        | Seafile server started
seafile        |
seafile        | Done.
seafile        |
seafile        | Starting seahub at port 8000 ...
seafile        |
seafile        | Seahub is started
seafile        |
seafile        | Done.
seafile        |


你好,能帮忙看下吗?部署了2次,12.0 和 13.0 两个版本都试了,都是同样的问题。

您这里不是正规域名吧,如果没有正规域名,就只能配置 ip 地址和 http 协议。
如果有域名,才能配置域名 :plus: https 协议。

你好,seafile.guangzhou.lan 是主机名,我看 部署社区版 文档上要写主机名

主机名指的是正规域名或者 IP 地址。
如果您有正规域名,就配置域名 + https 协议。
如果没有域名,就配置 ip + http 协议。

1 个赞