From 2dcb43b717310f1bc6c3f6ae27142c9f29a0e7a6 Mon Sep 17 00:00:00 2001 From: Nelson <1475262689@qq.com> Date: Thu, 9 Jul 2026 11:53:04 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=20frpc=20sidecar=20?= =?UTF-8?q?=E5=AE=B9=E5=99=A8=EF=BC=88=E5=86=85=E7=BD=91=E7=A9=BF=E9=80=8F?= =?UTF-8?q?=EF=BC=8C=E9=9A=8F=E9=A1=B9=E7=9B=AE=E8=87=AA=E5=8A=A8=E5=90=AF?= =?UTF-8?q?=E5=8A=A8=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - docker-compose.dev.yml: 新增 frpc 服务,通过 .env 环境变量配置 - deploy/frpc.Dockerfile: 基于 Alpine 构建,下载 frp 0.68.1 二进制 - deploy/frpc-entrypoint.sh: 由环境变量生成 frpc.toml 配置文件 - .env.example: 环境变量说明(占位值,不含真实凭证) - .gitignore: 忽略 .env 文件,防止敏感信息提交 --- ai_knowledge_base_v2/.env.example | 20 +++++++++++ ai_knowledge_base_v2/.gitignore | 1 + .../deploy/frpc-entrypoint.sh | 36 +++++++++++++++++++ ai_knowledge_base_v2/deploy/frpc.Dockerfile | 17 +++++++++ ai_knowledge_base_v2/docker-compose.dev.yml | 17 +++++++++ 5 files changed, 91 insertions(+) create mode 100644 ai_knowledge_base_v2/.env.example create mode 100644 ai_knowledge_base_v2/.gitignore create mode 100755 ai_knowledge_base_v2/deploy/frpc-entrypoint.sh create mode 100644 ai_knowledge_base_v2/deploy/frpc.Dockerfile diff --git a/ai_knowledge_base_v2/.env.example b/ai_knowledge_base_v2/.env.example new file mode 100644 index 0000000..b61f07d --- /dev/null +++ b/ai_knowledge_base_v2/.env.example @@ -0,0 +1,20 @@ +# ============================================ +# 飞书知识库配置 +# ============================================ +FEISHU_APP_ID= +FEISHU_APP_SECRET= +FEISHU_SEARCH_URL= + +# ============================================ +# 内网穿透(frpc sidecar) +# 启动 docker compose 前,拷贝本文件为 .env 并填写 +# 或直接在 shell 中 export 这些变量 +# ============================================ +FRP_SERVER_ADDR=your-server-ip +FRP_SERVER_PORT=7000 +FRP_AUTH_TOKEN=your-auth-token +FRP_PROXY_NAME=qa-backend +# 映射到后端端口 8100 +FRP_LOCAL_PORT=8100 +# 自定义域名,逗号分隔,如:qa.yourdomain.com,your-server-ip +FRP_CUSTOM_DOMAINS=qa.yourdomain.com,your-server-ip \ No newline at end of file diff --git a/ai_knowledge_base_v2/.gitignore b/ai_knowledge_base_v2/.gitignore new file mode 100644 index 0000000..2eea525 --- /dev/null +++ b/ai_knowledge_base_v2/.gitignore @@ -0,0 +1 @@ +.env \ No newline at end of file diff --git a/ai_knowledge_base_v2/deploy/frpc-entrypoint.sh b/ai_knowledge_base_v2/deploy/frpc-entrypoint.sh new file mode 100755 index 0000000..dacd960 --- /dev/null +++ b/ai_knowledge_base_v2/deploy/frpc-entrypoint.sh @@ -0,0 +1,36 @@ +#!/bin/sh +set -e + +# 由环境变量生成 frpc.toml 配置 +mkdir -p /etc/frp +# FRP_CUSTOM_DOMAINS 格式:逗号分隔的域名,如 "domain1.com,domain2.com" +# 脚本自动加引号 +_domains="" +IFS="," +for _d in ${FRP_CUSTOM_DOMAINS}; do + _d=$(echo "$_d" | xargs) + if [ -n "$_domains" ]; then + _domains="$_domains, " + fi + _domains="$_domains\"$_d\"" +done +unset IFS + +cat > /etc/frp/frpc.toml <