作为一个自托管新手,我开始了一个我认为相对简单的项目:使用 Docker 设置 Monica CRM。然而,我遇到了一个意想不到的挑战,正在向更有经验的人寻求帮助。
背景:
这是我第一次尝试自托管,我对 Docker 和 Nginx 的了解非常基础。当我尝试通过浏览器访问 Monica CRM 时,遇到了“503 服务暂时不可用”错误。
设置:
该设置基于使用 Docker Compose 的 Monica CRM,文件取自官方存储库中的示例文件夹。 包含的服务包括应用程序 (Monica)、数据库 (MariaDB)、redis、cron、队列、Web、代理 (Nginx) 和 Let's Encrypt 配套容器。 Nginx 设置为反向代理来处理 Web 请求。 问题:
尽管服务似乎已启动并正在运行,但我始终收到“503 服务暂时不可用”错误。Monica 应用服务 (app) 在内部使用端口 9000,但 docker-compose.yml 中未公开任何外部端口。已采取的故障排除步骤:
使用 docker-compose ps 确认所有服务的状态。检查 Nginx 配置,确保上游指令正确设置为服务器 app:9000。检查 Docker 网络以确保 Monica 应用程序和 Nginx 代理可以进行内部通信。仔细检查 .env 文件是否有正确的环境变量。进行任何配置更改后重新启动所有服务。
以下是我的 docker-compose.yml 和 Nginx 配置的关键片段:
services: app:
build: ./app
image: monica-app
... proxy:
build: ./proxy
ports:
- 80:80
- 443:443
...
Nginx 配置:
nginx Copy code upstream php-handler {
server app:9000; }
我原本期望使用 Monica CRM 进行自我托管能够顺利开始,但我发现自己在这个过程的早期就遇到了困难。