From b45fd547ab4e34b9ea9a36efd6d6e9c4736d640a Mon Sep 17 00:00:00 2001 From: glidea <740696441@qq.com> Date: Tue, 22 Apr 2025 14:59:41 +0800 Subject: [PATCH] optimize deploy --- README.md | 67 +++++++----------------------------- docker-compose.yml | 63 +++++++++++++++++++++++++++++++++ install/config-template.yaml | 25 -------------- install/docker-compose.yml | 24 ------------- 4 files changed, 76 insertions(+), 103 deletions(-) create mode 100644 docker-compose.yml delete mode 100644 install/config-template.yaml delete mode 100644 install/docker-compose.yml diff --git a/README.md b/README.md index cbfa2d3..5678938 100644 --- a/README.md +++ b/README.md @@ -59,83 +59,42 @@ zenfeed 是你的智能信息助手。它自动收集、筛选并总结关注的 ### 1. 安装 -替换下方 APIKey 等参数,并完整复制到终端一键执行。注意: +默认使用硅基流动的 Qwen/Qwen2.5-7B-Instruct(免费) 和 Pro/BAAI/bge-m3。如果你还没有硅基账号,使用 [邀请链接](https://cloud.siliconflow.cn/i/U2VS0Q5A) 得 14 元额度 -1. `provider` 除了硅基还支持 openai, openrouter, deepseek, gemini, volc(火山(keng)引擎)。也可自定义,参考 [配置文档](docs/config-zh.md)。需要自定义其它参数的大佬也可参考 - -2. `llms[0].model` 默认会用来总结内容,相对耗费 Token,一般 Qwen/Qwen2.5-7B-Instruct(免费!!!)足够,当然米够的话越强越好。如果你还没有硅基账号,使用 [邀请链接](https://cloud.siliconflow.cn/i/U2VS0Q5A) 得 14 元额度 +支持使用其他厂商或模型,按下方提示操作即可 #### Mac/Linux ```bash -docker run --rm \ - -v "$(pwd):/app" \ - -w /app \ - --entrypoint sh \ - mikefarah/yq -c ' - set -e - mkdir -p zenfeed/config && cd zenfeed - TEMPLATE_URL="https://raw.githubusercontent.com/glidea/zenfeed/main/install/config-template.yaml" - COMPOSE_URL="https://raw.githubusercontent.com/glidea/zenfeed/main/install/docker-compose.yml" - CONFIG_OUTPUT="config/config.yaml" - COMPOSE_OUTPUT="docker-compose.yml" +curl -L -O https://raw.githubusercontent.com/glidea/zenfeed/main/docker-compose.yml - wget -qO- "$TEMPLATE_URL" | yq \ - ".timezone = \"Asia/Shanghai\" | - .llms[0].provider = \"siliconflow\" | - .llms[0].model = \"Qwen/Qwen2.5-7B-Instruct\" | - .llms[0].api_key = \"your_api_key\" | # <<<--- 替换 API Key! 其它参数按需选择 - .llms[1].provider = \"siliconflow\" | - .llms[1].embedding_model = \"Pro/BAAI/bge-m3\" | - .llms[1].api_key = \"your_api_key\" | # <<<--- 替换 API Key! - .storage.feed.rewrites[0].transform.to_text.prompt = \"{{.summary_html_snippet}}使用中文回复\"" \ - > "$CONFIG_OUTPUT" - - wget -qO "$COMPOSE_OUTPUT" "$COMPOSE_URL" -' && cd zenfeed && docker compose up -d --wait +# 如果你需要自定义更多配置参数,请直接编辑(执行下方命令前) docker-compose.yml#configs.zenfeed_config.content +# 配置文档 https://github.com/glidea/zenfeed/blob/main/docs/config-zh.md +API_KEY=your_apikey docker-compose up -d ``` #### Windows > 使用 PowerShell 执行 ```powershell -docker run --rm ` - -v "${PWD}:/app" ` - -w /app ` - --entrypoint sh ` - mikefarah/yq -c ' - set -e - mkdir -p zenfeed/config && cd zenfeed - TEMPLATE_URL="https://raw.githubusercontent.com/glidea/zenfeed/main/install/config-template.yaml" - COMPOSE_URL="https://raw.githubusercontent.com/glidea/zenfeed/main/install/docker-compose.yml" - CONFIG_OUTPUT="config/config.yaml" - COMPOSE_OUTPUT="docker-compose.yml" +Invoke-WebRequest -Uri "https://raw.githubusercontent.com/glidea/zenfeed/main/docker-compose.yml" -OutFile ([System.IO.Path]::GetFileName("https://raw.githubusercontent.com/glidea/zenfeed/main/docker-compose.yml")) - wget -qO- "$TEMPLATE_URL" | yq \ - ".timezone = \"Asia/Shanghai\" | - .llms[0].provider = \"siliconflow\" | - .llms[0].model = \"Qwen/Qwen2.5-7B-Instruct\" | - .llms[0].api_key = \"your_api_key\" | # <<<--- 替换 API Key! 其它参数按需选择 - .llms[1].provider = \"siliconflow\" | - .llms[1].embedding_model = \"Pro/BAAI/bge-m3\" | - .llms[1].api_key = \"your_api_key\" | # <<<--- 替换 API Key! - .storage.feed.rewrites[0].transform.to_text.prompt = \"{{.summary_html_snippet}}使用中文回复\"" \ - > "$CONFIG_OUTPUT" - - wget -qO "$COMPOSE_OUTPUT" "$COMPOSE_URL" -' ; cd zenfeed; docker compose up -d --wait +# 如果你需要自定义更多配置参数,请直接编辑(执行下方命令前) docker-compose.yml#configs.zenfeed_config.content +# 配置文档 https://github.com/glidea/zenfeed/blob/main/docs/config-zh.md +$env:API_KEY = "your_apikey"; docker-compose up -d ``` ### 2. 使用 Web 端 访问 https://zenfeed-web.pages.dev - -> 会默认连接本地的 zenfeed +> 如果部署在 VPS 等环境请访问 https://vps_public_ip:1400(记得开放安全组端口),不要使用上方的公共前端 +> ⚠️ zenfeed 尚无认证手段,暴露到公网可能会泄露 APIKey,请小心设置安全组。如果你有这方面的安全需求请提 Issue #### 添加 RSS 订阅源 > 从 Follow 迁移过来,参考 [migrate-from-follow.md](docs/migrate-from-follow.md) +> 需要访问对应的源站,请保证网络畅通 #### 配置每日简报,监控等 diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..6aedf71 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,63 @@ +services: + zenfeed-web: + image: glidea/zenfeed-web:latest + ports: + - "1400:1400" + environment: + - PUBLIC_DEFAULT_API_URL=http://zenfeed:1300 + depends_on: + - zenfeed + + zenfeed: + image: glidea/zenfeed:latest + configs: + - source: zenfeed_config + target: /app/config/config.yaml + volumes: + - data:/app/data + ports: + - "1300:1300" + - "1301:1301" + depends_on: + - rsshub + + rsshub: + image: diygod/rsshub:latest + ports: + - "1200:1200" + environment: + - NODE_ENV=production + +volumes: + data: {} + +configs: + zenfeed_config: + content: | + timezone: ${TZ:-Asia/Shanghai} + llms: + - name: general + default: true + provider: siliconflow + model: Qwen/Qwen2.5-7B-Instruct + api_key: ${API_KEY} + - name: embed + provider: siliconflow + embedding_model: Pro/BAAI/bge-m3 + api_key: ${API_KEY} + scrape: + rsshub_endpoint: http://rsshub:1200 + storage: + feed: + rewrites: + - transform: + to_text: + prompt: | + {{ .summary_html_snippet }} Respond in ${LANG:-Chinese} + label: summary_html_snippet + embedding_llm: embed + notify: + channels: + email: + feed_html_snippet_template: | + {{ .summary_html_snippet }} diff --git a/install/config-template.yaml b/install/config-template.yaml deleted file mode 100644 index 6a8bee9..0000000 --- a/install/config-template.yaml +++ /dev/null @@ -1,25 +0,0 @@ -timezone: Asia/Shanghai -llms: - - name: general - default: true - provider: siliconflow - model: Qwen/Qwen2.5-7B-Instruct - - name: embed - provider: siliconflow - embedding_model: Pro/BAAI/bge-m3 -scrape: - rsshub_endpoint: http://rsshub:1200 -storage: - feed: - rewrites: - - transform: - to_text: - prompt: | - {{ .summary_html_snippet }} - label: summary_html_snippet - embedding_llm: embed -notify: - channels: - email: - feed_html_snippet_template: | - {{ .summary_html_snippet }} diff --git a/install/docker-compose.yml b/install/docker-compose.yml deleted file mode 100644 index 00ae224..0000000 --- a/install/docker-compose.yml +++ /dev/null @@ -1,24 +0,0 @@ -version: "3.8" -services: - zenfeed: - image: glidea/zenfeed:latest - volumes: - - data:/app/data - - type: bind - source: ./config - target: /app/config - ports: - - "1300:1300" - - "1301:1301" - depends_on: - - rsshub - - rsshub: - image: diygod/rsshub:latest - ports: - - "1200:1200" - environment: - - NODE_ENV=production - -volumes: - data: {} \ No newline at end of file