forked from lunanting/cangku
生产部署(Docker)
生产实例使用 MySQL、Redis、Redis TLS 网关、Node.js 后端和部署注册服务容器。MySQL、后端与注册服务只监听内部网络或服务器回环地址;Nginx 暴露 ck.yydd.ai:8443,Redis TLS 网关暴露 ck.yydd.ai:6380。
服务器目录约定:
/opt/cangku/app:仓库代码和前端构建结果/opt/cangku/shared:权限为0700的环境配置/opt/cangku/data:MySQL、Redis 和部署注册服务持久数据/www/wwwroot/cangku-acme:Let's Encrypt HTTP-01 校验目录
真实密码、JWT 密钥、部署 Key 和第三方数据库配置不得写入仓库。mysql.env、redis.env、backend.env 和 bootstrap.env 只在服务器生成并保持 0600 权限。
SSH 隧道账号只接受由注册服务 CA 签发的短期证书,只允许转发到服务器 127.0.0.1:3307,并关闭终端、TTY、代理转发和密码认证。生产主机的 SSH 管理账号使用独立密钥,关闭密码登录。
Redis 原始端口不映射到宿主机。公网 6380 只接受 TLS,注册服务为每台设备创建独立 ACL 账号;停用安装会删除该账号。证书文件应归属 HAProxy 容器的 99:99 并保持 0600,续期后需重新生成 /opt/cangku/shared/redis-tls.pem、恢复该属主并重启 TLS 网关。