本周精选 · 第2期 — 7款让自部署体验再上台阶的开源项目

又到了周六,按惯例该交一份本周精选清单。上一…

又到了周六,按惯例该交一份本周精选清单。上一期发完后台收到不少私信,说”这汇总太实用了,比我自己刷 GitHub 强”。那这一期咱们继续,挑 7 款 2026 年值得关注的开源自部署项目,覆盖 PaaS、日志、LLM 测试、位置管理、安全防护、书签归档、订阅追踪——全都是能直接 docker run 就上手的。

先上总览(按推荐优先级排序):

  • Coolify — 59k+ ⭐,自托管 PaaS,替代 Heroku / Vercel
  • SafeLine — 17k+ ⭐,自托管 WAF(Web 应用防火墙)
  • Promptfoo — LLM 自动化评测与红队测试框架
  • Linkwarden — 协同书签管理器,自动存档网页
  • Dozzle — 轻量 Docker 日志实时查看器
  • Dawarich — Google Timeline(位置历史)自托管替代
  • Wallos — 个人订阅管理追踪

1. Coolify — 把 Heroku 搬回你自己服务器

如果你还在为 Vercel 的带宽账单肉疼,或者受够了 Heroku 的”维持模式”(2026 年 2 月起已经不怎么出新功能了),那 Coolify 是今年最值得关注的自托管 PaaS。截至七月底,GitHub 59k+ ⭐,社区 32 万+ 用户,280+ 一键部署模板。

v4.0 版本(2026 年 5 月发布)带来了几个硬核更新:原生多服务器编排、Ollama 一等支持(可以一键部署本地大模型推理服务)、GitLab 集成、PR 预览部署。本质上它就是把你手头的 VPS 变成一个私有 Heroku——连 Git 仓库,push 即部署,SSL 自动配好,PostgreSQL/MySQL/Redis/MongoDB 一键创建。

这是我部署一个 Node.js 项目的真实命令(Coolify 面板里填好仓库地址后):

# Coolify 面板操作:添加服务器 → 连接 Git 仓库 → 选择部署类型
# 底层实际执行的就是 Docker Compose,配置文件可以在面板里直接改
services:
  app:
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - "3000:3000"
    environment:
      - DATABASE_URL=postgresql://user:pass@postgres:5432/mydb
    depends_on:
      postgres:
        condition: service_healthy

  postgres:
    image: postgres:16-alpine
    volumes:
      - pgdata:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U user"]
      interval: 5s
      timeout: 5s
      retries: 5

适合谁:有多台 VPS 或独服、需要频繁部署前后端应用的开发者。最低配:1 核 2G 内存的 VPS 就能跑起来,推荐用 Hetzner CCX13(6 欧/月)起步。

🔗 github.com/coollabsio/coolify

2. SafeLine — 给你的自建站点套一层盔甲

自建服务多了以后,最头疼的不是功能实现,而是安全防护。Nginx 自带的基础防护加上 fail2ban 能挡住大部分脚本小子,但面对 SQL 注入、XSS、CC 攻击这些实打实的 Web 威胁,还是需要专业 WAF。

SafeLine 是长亭科技(Chaitin)开源的自托管 WAF,目前已保护全球超过 100 万个站点,GitHub 17k+ ⭐。它的核心亮点不是传统的规则匹配,而是基于语义分析的流量检测——简单说,它能理解 HTTP 请求的”意图”,而不是死板地匹配关键词。对于零日攻击和变种绕过,效果比 ModSecurity 好得多。

部署极其简单:

# 极速安装
sudo wget https://waf.chaitin.com/release/latest/compose.yaml
# 编辑 .env 配置管理员密码
sudo docker compose up -d
# 打开 https://你的IP:9443 配置防护站点
# 把你需要保护的域名源站地址填进去,开启防护即可

配置完成后,SafeLine 会作为反向代理挡在前面,所有流量先经过它过滤再转发到你的后端服务。防护面板能看到实时阻断记录、攻击来源 IP 排行、攻击类型分布。我跑了三个月,每天平均拦截 200+ 次扫描和攻击尝试。

🔗 github.com/chaitin/SafeLine

3. Promptfoo — 给 LLM 写单元测试,这回是真的

如果你在对接大模型 API 或者搭 RAG 应用,一定遇到过这个问题:同一个 prompt,换了个模型版本,输出质量明显下降。以前只能手工点开对话一条条看,Promptfoo 的存在就是为了终结这种”人工回归测试”的原始状态。

这是一个 CLI + 库,让你像写单元测试一样定义评测用例,然后批量跑多个模型/多个 prompt 变体,自动比对输出质量。支持 GPT、Claude、Gemini、Llama、Ollama 本地模型……几乎市面上你能叫得出名字的全部支持。而且所有评测数据都在本地运行,不会被第三方看到。

一个最简单的示例:

# 安装
npm install -g promptfoo

# 初始化示例项目
promptfoo init --example getting-started
cd getting-started

# 配置文件 promptfooconfig.yaml 长这样:
prompts:
  - "翻译成中文:{{text}}"
  - "请把下面内容用中文表达:{{text}}"

providers:
  - openai:gpt-4o
  - ollama:deepseek-v4-flash

tests:
  - vars:
      text: "Hello, how are you?"
    assert:
      - type: contains-any
        value: ["你好", "您好"]
  - vars:
      text: "The quick brown fox jumps over the lazy dog"
    assert:
      - type: contains
        value: "狐狸"

# 跑评测
promptfoo eval

# 启动可视化面板查看结果
promptfoo view

除了评测,Promptfoo 还有红队测试模式——自动生成攻击 prompt 来测试你的 LLM 应用是否存在越狱、提示注入、敏感信息泄露等安全问题,并生成报告。我去年做本地 AI 知识库项目的时候,靠它抓到了 3 个 RAG 检索流程里的严重 BUG。

🔗 github.com/promptfoo/promptfoo

4. Linkwarden — 书签归档,对抗链接腐烂

你有没有遇到过这种情况:以前收藏的一篇好文章,几个月后点开——404。这就是互联网的”链接腐烂”(Link Rot),而 Linkwarden 就是为了解决这个问题而生的。

它不只是一个书签管理器,更重要的是每当你收藏一个网页,Linkwarden 会自动保存一份截图 + PDF 存档到你的服务器上。即使原站挂了,你自己服务器上的那份存档随时可读。它还支持直接在网页上做标注批注、多人协作共享收藏夹、公开分享你的精选合集。浏览器插件 Chrome/Firefox 都支持。

Docker 一键部署:

# docker-compose.yml
services:
  linkwarden:
    image: ghcr.io/linkwarden/linkwarden:latest
    ports:
      - "3000:3000"
    volumes:
      - ./data:/data/data
    environment:
      - DATABASE_URL=postgresql://user:pass@postgres:5432/linkwarden
      - NEXTAUTH_SECRET=your-secret-key
    depends_on:
      - postgres

  postgres:
    image: postgres:16-alpine
    volumes:
      - ./pgdata:/var/lib/postgresql/data
    environment:
      - POSTGRES_USER=user
      - POSTGRES_PASSWORD=pass
      - POSTGRES_DB=linkwarden

🔗 github.com/linkwarden/linkwarden

5. Dozzle — 告别 docker logs -f 来回切终端

排查 Docker 容器问题时,最原始的办法就是开五六个终端窗口,每个窗口跑一条 docker logs -f 盯着看。Dozzle 就是来终结这种混乱的——一个不到 7MB 的容器,启动后浏览器里就能同时看所有容器的实时日志。

功能不多废话,就一句话:实时日志、模糊搜索、正则过滤、SQL 查询、多主机支持(Agent 模式)、用户鉴权。没有持久化存储,没有学习曲线,纯浏览器版的”tail -f”。

# 一条命令启动
docker run --name dozzle -d \
  --volume=/var/run/docker.sock:/var/run/docker.sock \
  -v dozzle_data:/data \
  -p 8080:8080 \
  amir20/dozzle:latest

# 多主机模式(每台机器上跑一个 agent)
docker run -d -p 7007:7007 \
  -v /var/run/docker.sock:/var/run/docker.sock \
  amir20/dozzle:latest agent

# 浏览器打开 http://你的IP:8080 即可查看所有容器日志

适用场景:日常开发调试、线上故障排查、多容器服务实时观察。如果你需要历史日志归档,还是得上 ELK/Loki,但 Dozzle 作为”看一眼现在怎么样”的利器,没有对手。社区一直在积极维护,作为 Docker-OSS 官方赞助项目,质量有保障。

🔗 github.com/amir20/dozzle

6. Dawarich — 你的位置历史,你自己存着

Google Timeline(原 Google 位置记录)在手机上体验其实不错,但有两个痛点:一是 2025 年底起网页版下线、数据只存在手机上且三个月后清空;二是不管你多信任 Google,把每天的行程轨迹交给第三方心里终究不踏实。

Dawarich 就是为此而生的自托管替代品。它把你的位置数据存在你自己的服务器上,提供交互式地图查看、行程分析、照片集成(支持 Immich / PhotoPrism),甚至能告诉你”你今年在巴黎一共待了 30 天”。支持导入 Google Maps Timeline 导出数据、OwnTracks、Strava、GPX、GeoJSON、照片 EXIF。

搭配 OwnTracks(手机端位置上报 App),你可以完全脱离 Google 的位置体系:

# OwnTracks 端配置地址指向你的 Dawarich 实例:
# Host: https://你的dawarich实例地址
# Identification → Username: 你的用户名, Device: 设备名
# Security → TLS: 开启

# 在 Dawarich 面板上登录后就能看到实时位置更新和历史轨迹
# 支持按日期范围筛选、按地点聚合、导出 GPX/GeoJSON

🔗 github.com/Freika/dawarich

7. Wallos — 盯住你每一笔自动扣款

说个真实场景:我上个月翻信用卡账单,发现每个月莫名其妙被扣了 ¥88——追查了半天是一年前注册的某个会员,试用了就忘取消。这种”订阅吸血鬼”几乎人人都有,区别只是数量多少。Wallos 就是来帮你理清楚的。

开源自托管,纯 PHP + MySQL,可以跑在任何有 Web 环境的服务器上(甚至群晖的 Web Station 都行)。它能列出你所有的订阅服务,标清每月/每年费用、下次扣款时间、分类统计、货币换算(支持多币种 + Fixer API 汇率转换)。而且会自动搜索服务 Logo,界面看起来很舒服。

# Docker 部署
docker run -d --name wallos \
  -v /path/to/config/wallos/db:/var/www/html/db \
  -v /path/to/config/wallos/logos:/var/www/html/images/uploads/logos \
  -e TZ=Asia/Shanghai \
  -p 8282:80 \
  --restart unless-stopped \
  bellamy/wallos:latest

进去以后就是纯手动添加你的每一项订阅,虽然初始录入有点耗时,但录入完成后你会对自己”每个月到底在为什么付钱”有非常清晰的认知——我整理完之后直接取消了 4 个不必要的订阅,每年省下两千多。就冲这一点,花 20 分钟部署 + 录入就值回票价了。

🔗 github.com/ellite/Wallos

总结

这一期的 7 个项目覆盖了从基础设施到日常管理的各个维度。如果你想动手试,我给的建议是:先装 Dozzle(3 分钟搞定,成本为 0),然后根据当前最痛的痛点选一个上车——部署频繁就上 Coolify,站点裸奔就上 SafeLine,玩 LLM 就上 Promptfoo。

下周同一时间,第 3 期继续。如果你有好项目推荐,评论区见。


往期精选:
本周精选 · 第1期 — 5款让自部署体验飞跃的开源工具

类似文章

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注