)
Ente 自托管报 post_start is not allowed 错误怎么解决Docker Compose 版本问题【免费下载链接】ente End-to-end encrypted cloud for everything.项目地址: https://gitcode.com/GitHub_Trending/en/ente当你用 Ente 的 quickstart 脚本或 Docker Compose 方式自托管 Ente 时启动集群如果卡在validating compose.yaml: services.minio Additional property post_start is not allowed说明 Docker 在解析compose.yaml时就失败了集群根本没有启动。原因很具体Ente 的 compose 文件例如 quickstart 脚本生成的my-ente/compose.yaml或仓库中的 server/config/compose.yaml在minio服务上使用了post_start生命周期钩子来初始化 MinIO 的存储桶而这个钩子要求 Docker Compose 版本 2.30.0 及以上见 docs/docs/self-hosting/troubleshooting/docker.md。安装要求文档 也明确写着Ente 要求 Docker Compose 2.30 或更高版本并且只支持docker compose命令docker-compose已不再支持。先确认你的 Docker Compose 版本用下面的命令查看当前版本这是 quickstart.sh 脚本检查版本时使用的同一命令docker compose version --short如果输出小于 2.30.0就是本文描述的问题。如果你还看到类似的错误services.postgres.healthcheck Additional property start_interval is not allowed这是同一个根因——start_interval属性同样需要较新的 Docker Compose 版本解法与下文相同。主路径升级 Docker Compose文档给出的最简解决方案就是升级 Docker Compose 到 2.30.0。升级完成后按文档提示重启集群让改动生效docker compose down docker compose updocker compose down会停掉并移除当前项目my-ente目录的容器docker compose up重新拉起两个命令都只影响当前 compose 项目不会删除数据卷。无法升级时的替代方案改用独立 provision 服务如果环境限制让你无法升级 Docker Compose文档给出了等价做法从compose.yaml的minio服务中删掉整个post_start钩子然后新增一个minio-provision服务来完成同样的存储桶初始化minio-provision: image: minio/mc depends_on: - minio volumes: - minio-data:/data networks: - internal entrypoint: | sh -c #!/bin/sh while ! mc alias set h0 http://minio:3200 your_minio_user your_minio_pass do echo waiting for minio... sleep 0.5 done cd /data mc mb -p b2-eu-cen mc mb -p wasabi-eu-central-2-v3 mc mb -p scw-eu-fr-v3 该片段来自 docs/docs/self-hosting/troubleshooting/docker.md放入services:之下。两个占位符需要替换成你的 MinIO 实际凭据your_minio_user、your_minio_pass替换为minio服务环境里的MINIO_ROOT_USER/MINIO_ROOT_PASSWORD的值。quickstart 脚本会在运行时生成这组凭据并写入my-ente/compose.yaml的minio服务下直接照抄那里的值即可其余部分minio-data卷、三个mc mb -p建桶命令与post_start钩子执行的完全一致不需要改动。修改后同样执行docker compose down和docker compose up让新配置生效。另外注意一个文档中记录的相邻问题如果你的日志里反复出现Waiting for minio...可能是 compose 文件里用了已废弃的mc config host h0 add命令改成mc alias set h0即可当前仓库里的 server/config/compose.yaml 已经使用mc alias set写法。验证集群已正常启动启动后post_start is not allowed的校验错误不再出现容器依次拉起即为通过。quickstart 安装方式下还可以按 quickstart 文档 做一次 API 冒烟测试curl localhost:8080/ping能收到响应说明 museumAPI 服务已正常运行随后访问http://localhost:3000即可打开 Ente Photos 页面。限制与边界上述替代方案只适用于 compose 文件本身使用的post_start钩子即 quickstart 脚本或 Docker Compose 安装路径生成的文件文档中未覆盖其他自定义拓扑。修改compose.yaml/museum.yaml后必须docker compose downdocker compose up才会生效文档对此有明确提示。长期来看Ente 的官方要求是 Docker Compose 2.30requirements 文档删除post_start只是无法升级时的临时等价方案。【免费下载链接】ente End-to-end encrypted cloud for everything.项目地址: https://gitcode.com/GitHub_Trending/en/ente创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考