diff --git a/honcho/readme.md b/honcho/readme.md index f8e4723..be1f51b 100644 --- a/honcho/readme.md +++ b/honcho/readme.md @@ -253,6 +253,20 @@ Honcho 是 **AGPL-3.0**,对网络服务部署有"用户可获取源码"的要 honcho-self-hosted 相对官方 compose 的一个改进:**移除了**`trust` 认证(官方默认的 dev 用法),改用强密码 + scram-sha-256。生产环境务必保留这个设置。 +### 6. 容器端口 vs 宿主机端口不可混用 + +**容器之间互访必须用容器内端口(5432/6379/8000)**,不能用宿主机映射端口(如 `HONCHO_DB_PORT=25432`)。错误示例: + +```yaml +# ❌ 错:${HONCHO_DB_PORT} 是宿主机端口 25432,容器内根本没监听这个 +DB_CONNECTION_URI=postgresql+psycopg://honcho:pw@database:${HONCHO_DB_PORT}/honcho + +# ✅ 对:硬编码容器内端口 5432 +DB_CONNECTION_URI=postgresql+psycopg://honcho:pw@database:5432/honcho +``` + +同样 healthcheck 也用容器内端口 `localhost:8000`,**不是** `localhost:18000`(宿主映射端口)。 + ## 故障排查 | 症状 | 排查命令 | diff --git a/honcho/stack.yml b/honcho/stack.yml index 9541eab..bada9fc 100644 --- a/honcho/stack.yml +++ b/honcho/stack.yml @@ -35,7 +35,7 @@ services: - "${HONCHO_API_PORT:-8000}:8000" environment: - TZ=Asia/Shanghai - - DB_CONNECTION_URI=postgresql+psycopg://${HONCHO_DB_USER}:${HONCHO_DB_PASSWORD}@database:${HONCHO_DB_PORT}/${HONCHO_DB_NAME} + - DB_CONNECTION_URI=postgresql+psycopg://${HONCHO_DB_USER}:${HONCHO_DB_PASSWORD}@database:5432/${HONCHO_DB_NAME} - CACHE_URL=redis://redis:${HONCHO_REDIS_PORT}/0?suppress=true - CACHE_ENABLED=true - LOG_LEVEL=${HONCHO_LOG_LEVEL:-INFO} @@ -64,7 +64,7 @@ services: - CMD - /app/.venv/bin/python - -c - - "import urllib.request; urllib.request.urlopen('http://localhost:18000/health', timeout=2).read()" + - "import urllib.request; urllib.request.urlopen('http://localhost:8000/health', timeout=2).read()" interval: 10s timeout: 5s retries: 10 @@ -88,7 +88,7 @@ services: condition: service_healthy environment: - TZ=Asia/Shanghai - - DB_CONNECTION_URI=postgresql+psycopg://${HONCHO_DB_USER}:${HONCHO_DB_PASSWORD}@database:${HONCHO_DB_PORT}/${HONCHO_DB_NAME} + - DB_CONNECTION_URI=postgresql+psycopg://${HONCHO_DB_USER}:${HONCHO_DB_PASSWORD}@database:5432/${HONCHO_DB_NAME} - CACHE_URL=redis://redis:${HONCHO_REDIS_PORT}/0?suppress=true - CACHE_ENABLED=true - NAMESPACE=${HONCHO_NAMESPACE:-honcho}