Documentation
Deployment
部署方式
部署方式
1) VM / 单机(Docker Compose)
最小部署(仅 PostgreSQL)
cd deploy/docker
cp .env.example .env
# 设置 POSTGRES_PASSWORD
docker-compose up -d
启用 stunnel 服务端(推荐)
docker-compose -f docker-compose.yml -f docker-compose.tunnel.yml up -d
如需自签名证书,可先执行:
cd deploy/docker
bash generate-certs.sh
证书管理(可选)
- Caddy:
docker-compose -f docker-compose.yml -f docker-compose.caddy.yml up -d - Nginx + Certbot:
docker-compose -f docker-compose.yml -f docker-compose.nginx.yml up -d
可选:pgAdmin 管理界面
cd deploy/docker
docker-compose --profile admin up -d
2) 云服务器一键部署(Vhost)
bash scripts/init_vhost.sh 16 db.example.com
默认会启用 stunnel(对外 5443,可按需改回 443)。
3) Kubernetes / Helm
helm install postgresql ./deploy/helm/postgresql \
--set auth.password=your-secure-password \
--set persistence.size=10Gi
启用 stunnel sidecar:
helm install postgresql ./deploy/helm/postgresql \
--set auth.password=your-secure-password \
--set stunnel.enabled=true \
--set stunnel.certificatesSecret=stunnel-certs
端口与安全建议
- PostgreSQL 内部仅监听
5432。 - 对外 TLS 入口默认使用
5443(同机融合推荐)。 - 生产环境建议开放 80/5443(证书签发 + TLS 连接)。
与 jp-xhttp 同机部署建议
若同一节点已运行 caddy/xray/xray-tcp(占用 80/443/1443),建议将 stunnel 外部端口调整为 5443,避免 443 端口冲突:
cd deploy/docker
cp .env.example .env
# 保留容器内部 5433,只调整宿主机入口
STUNNEL_PORT=5443
docker-compose -f docker-compose.yml -f docker-compose.tunnel.yml up -d
详细步骤见: docs/operations/node-consolidation-migration.md。
Feedback