Four things that broke when we set up 5 opensource apps and cost us a day
说明与用途
在 Docker 中部署五个开源应用时出现四个关键错误,耗时整整一天来修复。解决方案包括正确设置环境变量和卷挂载。
问题
Deploying five open‑source apps (Gitea, Wiki.js, HedgeDoc, Etherpad, Mattermost) in Docker containers caused multiple failures that consumed a full day of troubleshooting.
结果
By applying specific environment variable settings and volume configurations, the team resolved four critical deployment issues, restoring all five applications to stable operation.
工作流
- 1. For Wiki.js, mount volume to /wiki/data (exists in image) or delete pre‑existing /data volume before starting.
- 2. For HedgeDoc, set only CMD_DB_URL and omit DATABASE_URL when starting the container.
- 3. For Gitea, set GITEA__server__ROOT_URL and GITEA__server__DOMAIN env vars before first start; use four underscores for top‑level settings like GITEA____APP_NAME.
- 4. For Mattermost, create teams via API with "type": "O" to enable invite links; test links in private windows and account for login proxies.
证据
The container starts, the health check is happy, and the log says this ten times before it gives up: ... SQLITE_CANTOPEN
If you give HedgeDoc a DATABASE_URL variable, even with CMD_DB_URL set as well, it dies at once: ... Cannot read properties of undefined (reading 'dbURL')
On first start, Gitea shows its install page with everything pre-filled, including "Gitea Website URL". It guesses that from whatever address the first request came in on.
Invite people, Copy invite link, send it, and the new person gets: "This invite link is invalid"
- 记录日期: 2026-10-21T16:41:13.019Z