Initial commit: 浼佷笟寰俊 AI 鏈哄櫒浜哄姪鐞?MVP

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
bujie9527
2026-02-05 16:36:32 +08:00
commit 59275ed4dc
126 changed files with 9120 additions and 0 deletions

View File

@@ -0,0 +1,67 @@
#!/bin/bash
# SSL 证书配置脚本Let's Encrypt
# 用途:为备案域名配置 HTTPS 证书
set -e
if [ -z "$DOMAIN" ]; then
echo "错误: 未设置 DOMAIN 环境变量"
echo "请设置: export DOMAIN=your-domain.com"
exit 1
fi
if [ -z "$SSL_EMAIL" ]; then
echo "错误: 未设置 SSL_EMAIL 环境变量"
echo "请设置: export SSL_EMAIL=your-email@example.com"
exit 1
fi
echo "=== SSL 证书配置Let's Encrypt==="
echo "域名: $DOMAIN"
echo "邮箱: $SSL_EMAIL"
echo ""
# 检查 Certbot
if ! command -v certbot &> /dev/null; then
echo "安装 Certbot..."
if [ -f /etc/debian_version ]; then
sudo apt-get update
sudo apt-get install -y certbot python3-certbot-nginx
elif [ -f /etc/redhat-release ]; then
sudo yum install -y certbot python3-certbot-nginx
else
echo "错误: 未检测到支持的 Linux 发行版"
exit 1
fi
fi
echo "[1/3] 确保 HTTP 服务运行(用于验证)..."
docker-compose up -d backend nginx
sleep 3
echo "[2/3] 获取 SSL 证书..."
sudo certbot certonly --nginx \
-d "$DOMAIN" \
-d "www.$DOMAIN" \
--email "$SSL_EMAIL" \
--agree-tos \
--non-interactive \
--preferred-challenges http
echo "[3/3] 更新 Nginx 配置..."
# 更新 nginx-ssl.conf使用实际证书路径
sed -i "s|ssl_certificate.*|ssl_certificate /etc/letsencrypt/live/$DOMAIN/fullchain.pem;|" deploy/nginx-ssl.conf
sed -i "s|ssl_certificate_key.*|ssl_certificate_key /etc/letsencrypt/live/$DOMAIN/privkey.pem;|" deploy/nginx-ssl.conf
# 更新 docker-compose.yml挂载证书目录
# 注意:需要手动更新 docker-compose.yml 的 volumes
echo "✓ SSL 证书配置完成"
echo ""
echo "证书路径: /etc/letsencrypt/live/$DOMAIN/"
echo ""
echo "请更新 docker-compose.yml添加证书挂载"
echo " volumes:"
echo " - /etc/letsencrypt:/etc/letsencrypt:ro"
echo ""
echo "然后重启 Nginx: docker-compose restart nginx"