trench 是基础设施领域的开源项目,由 FrigadeHQ 开发,2024 年首次发布。
在全站 13,109 个收录项目中,它的 GitHub 星标数(1,663)位列前 30%,在基础设施分类中处于中上游。
项目已超过三个月没有代码更新,维护节奏明显放缓,最近一次代码更新于 2026-09-16。MIT许可证,可自行部署,完全免费。
它主要面向的使用场景是:自建产品分析仪表盘。同类可对比的替代方案包括 PostHog、Matomo、Umami。

1克隆仓库
把 Trench 源码克隆到本地,URL 来自 README。克隆完成后目录名为 trench。
git clone https://github.com/frigadehq/trench.git2准备配置文件
进入服务目录(apps/trench),把示例环境变量文件复制为 .env,后续可在这里改配置和 API Key。
cd trench/apps/trench
cp .env.example .env3启动 Dev 服务
用 dev compose 文件启动,会自动构建镜像并拉起本地 ClickHouse 与 Kafka,首次构建耗时较长。
docker-compose -f docker-compose.yml -f docker-compose.dev.yml up --build --force-recreate --renew-anon-volumes4发送示例事件
用 .env 中的 public API Key 以 Bearer 方式向 /events 发送一条 ConnectedAccount 事件。
curl -i -X POST -H "Authorization:Bearer public-d613be4e-di03-4b02-9058-70aa4j04ff28" -H "Content-Type:application/json" -d "{"events":[{"userId":"550e8400-e29b-41d4-a716-446655440000","type":"track","event":"ConnectedAccount","properties":{"totalAccounts":4,"country":"Denmark"}}]}" 'http://localhost:4000/events'5查询事件
用 private API Key 调用 GET /events 并按事件名过滤,可看到刚发送的事件返回。
curl -i -X GET -H "Authorization: Bearer private-d613be4e-di03-4b02-9058-70aa4j04ff28" 'http://localhost:4000/events?event=ConnectedAccount'6执行 SQL 查询
调用 /queries 端点直接跑 ClickHouse SQL 做统计分析,示例统计某 userId 的事件条数。
curl -i -X POST -H "Authorization:Bearer public-d613be4e-di03-4b02-9058-70aa4j04ff28" -H "Content-Type:application/json" -d "{"queries":["SELECT COUNT(*) FROM events WHERE userId = '550e8400-e29b-41d4-a716-446655440000'"]}" 'http://localhost:4000/queries'7SASL 方式启动
如需 Kafka SASL 认证,改用专用 compose 文件在后台构建启动;SSL+SASL 用 docker-compose.ssl-sasl.yml。
docker compose -f docker-compose.sasl.yml up -d --build| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
public API key(.env 内) | 是 | 公共 Key,用于发送事件与执行查询的 Bearer 鉴权 | public-d613be4e-di03-4b02-9058-70aa4j04ff28 |
private API key(.env 内) | 是 | 私有 Key,用于读取事件等需要更高权限的请求 | private-d613be4e-di03-4b02-9058-70aa4j04ff28 |
KAFKA_SASL_MECHANISM | 否 | SASL 认证机制,SASL compose 启动时使用 | PLAIN |
KAFKA_SASL_USERNAME | 否 | Kafka SASL 用户名,SASL compose 启动时使用 | kafka_user |
KAFKA_SASL_PASSWORD | 否 | Kafka SASL 密码,SASL compose 启动时使用 | kafka_password |
浏览器打开 http://localhost:4000,页面显示 “Trench server is running” 即启动成功;再发一次示例事件应能查询到。
Q:启动服务需要什么配置?
A:唯一前置条件是安装 Docker 和 Docker Compose;生产环境建议至少 4GB 内存和 4 个 CPU 核心,单节点可处理每秒数千事件。
Q:如何修改 API Key 或端口等配置?
A:README 说明所有配置都在 apps/trench 目录下的 .env 文件中修改,改完重启容器生效。
Q:发送事件后查询不到数据怎么办?
A:事件是流式经 Kafka 写入 ClickHouse 的,会有短暂延迟;可稍后重试 GET /events,并确认用的是对应 public/private Key。
Q:Kafka 需要账号密码时怎么启动?
A:使用 README 提供的 docker compose -f docker-compose.sasl.yml up -d --build(SASL_PLAINTEXT,端口 9095);需要 SSL+SASL 时改用 docker-compose.ssl-sasl.yml。
PostHog、Matomo、Umami
trench 是基础设施领域的开源项目,由 FrigadeHQ 开发,2024 年首次发布。
在全站 13,109 个收录项目中,它的 GitHub 星标数(1,663)位列前 30%,在基础设施分类中处于中上游。
项目已超过三个月没有代码更新,维护节奏明显放缓,最近一次代码更新于 2026-09-16。MIT许可证,可自行部署,完全免费。
它主要面向的使用场景是:自建产品分析仪表盘。同类可对比的替代方案包括 PostHog、Matomo、Umami。
上一篇:extractous
下一篇:EmbedAnything
freebuff-proxy
开源
聚合多账号,一键接入 OpenAI 兼容 API,轻松管理会话。
[DEPRECATED / UNMAINTAINED] Multi-account gateway. No longer maintained; fork it and···
microduck
开源
用 Rust 造一只会走路的桌面小鸭,快速上手双足机器人。
A Tiny biped duck robot
soperator
开源
用 Kubernetes 原生方式运行 Slurm,简化 HPC 集群管理。
Run Slurm in Kubernetes
ollama
开源
一条命令本地跑起大模型,免费、私密、不卡顿
Get up and running with Kimi, GLM, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma and other···