From 42fc3f2cf3a93a5189fb6557b3eebbbe99734678 Mon Sep 17 00:00:00 2001 From: empty Date: Sat, 27 Dec 2025 15:14:12 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E9=9B=86=E6=88=90=20Cloudflare=20Tunne?= =?UTF-8?q?l=20=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - docker-compose.yml 添加 cloudflared 服务 - 更新 .env.example 和 README.md 添加配置说明 - 支持通过 Cloudflare Tunnel 进行安全部署 --- .env.example | 6 +++++- README.md | 23 +++++++++++++++++++++++ docker-compose.yml | 12 ++++++++++++ 3 files changed, 40 insertions(+), 1 deletion(-) diff --git a/.env.example b/.env.example index e2770a3..5711766 100644 --- a/.env.example +++ b/.env.example @@ -19,9 +19,13 @@ ALIYUN_SLS_ENDPOINT=cn-hangzhou.log.aliyuncs.com ALIYUN_SLS_PROJECT=your_project_name ALIYUN_SLS_LOGSTORE=your_logstore_name -# 账号同步脚本配置 (sync-accounts.sh) +# Deploy Configuration (sync-accounts.sh) SYNC_SERVER=user@your-server.com SYNC_REMOTE_PATH=/opt/droid2api DEPLOY_TYPE=docker-compose DOCKER_SERVICE_NAME=droid2api PM2_APP_NAME=droid2api + +# Cloudflare Tunnel Configuration (Optional) +# Get token from: https://one.dash.cloudflare.com/ -> Networks -> Tunnels +TUNNEL_TOKEN= diff --git a/README.md b/README.md index 223ee91..df674ed 100644 --- a/README.md +++ b/README.md @@ -285,6 +285,29 @@ Docker部署支持以下环境变量: - `PORT` - 服务端口(默认3000) - `NODE_ENV` - 运行环境(production/development) +### Cloudflare Tunnel 部署 (推荐) + +本项目支持通过 Cloudflare Tunnel 进行安全暴露,无需在服务器防火墙开放端口,即可享受 DDoS 防护和 SSL 加密。 + +1. **获取 Tunnel Token** + - 访问 [Cloudflare Zero Trust Dashboard](https://one.dash.cloudflare.com/) + - 进入 `Networks` -> `Tunnels` -> `Create a tunnel` + - 选择 `Cloudflared` 部署模式 + - 在 Public Hostname 中设置你的域名,指向 `http://droid2api:3000` + +2. **配置环境变量** + 在 `.env` 或服务器环境变量中设置 Token: + ```bash + export TUNNEL_TOKEN="your_tunnel_token_here" + ``` + +3. **启动服务** + ```bash + docker-compose up -d + ``` + + 系统会自动启动 `cloudflared` 容器并建立安全隧道。 + ### Claude Code集成 #### 配置Claude Code使用droid2api diff --git a/docker-compose.yml b/docker-compose.yml index e4055c9..44b9195 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -29,3 +29,15 @@ services: timeout: 10s retries: 3 start_period: 40s + + # Cloudflare Tunnel (可选) + # 需要在 .env 中设置 TUNNEL_TOKEN + tunnel: + image: cloudflare/cloudflared:latest + container_name: droid2api_tunnel + restart: unless-stopped + command: tunnel run + environment: + - TUNNEL_TOKEN=${TUNNEL_TOKEN} + depends_on: + - droid2api