gotempsh/temps

GitHub: gotempsh/temps

Temps 是一个用 Rust 编写的开源自托管部署平台,将 Git 部署、反向代理、可观测性、托管数据库和事务邮件整合为单一二进制文件,帮助团队在自有服务器上零成本替代多个 SaaS 服务。

Stars: 379 | Forks: 16

Temps ### 开源、自托管的部署平台。 ### 部署、监控与扩容 —— 仅需单一二进制文件。 [![License](https://img.shields.io/badge/license-MIT%20OR%20Apache--2.0-blue.svg)](LICENSE) [![GitHub Release](https://img.shields.io/github/v/release/gotempsh/temps)](https://github.com/gotempsh/temps/releases) [![Rust](https://img.shields.io/badge/rust-1.70%2B-orange.svg)](https://www.rust-lang.org/) [![GitHub Stars](https://img.shields.io/github/stars/gotempsh/temps?style=social)](https://github.com/gotempsh/temps) [网站](https://temps.sh) | [文档](https://temps.sh/docs) | [快速开始](https://temps.sh/docs/introduction) | [GitHub](https://github.com/gotempsh/temps)

Temps — from bare server to deployed in under 3 minutes
From bare server to fully deployed — in under 3 minutes (166s).

``` curl -fsSL https://temps.sh/deploy.sh | bash ``` ![Temps Dashboard](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/2217f25e5b125749.png) 不再为 6 种不同的 SaaS 工具付费。Temps 取代了你的部署平台、分析工具、错误追踪、会话回放、可用性监控以及事务性邮件——全部支持自托管,全部集成于一个二进制文件中。 ## 功能特性
**Git Push 即部署** 推送到 Git,Temps 自动构建并部署。自动检测框架,创建预览 URL,并处理零停机时间的滚动部署。 ![Deployments](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/bf0b379f9d125750.png) **内置 Analytics 与 Session Replay** 包含漏斗、访客追踪的 Web 分析以及会话回放 (rrweb)。兼容 Sentry 的错误追踪。无需外部服务。 ![Analytics](https://raw.githubusercontent.com/gotempsh/temps/main/assets/screenshots/analytics.png)
**基于 Pingora 的代理** 运行在 Cloudflare 的 Pingora 引擎上。通过 Let's Encrypt (HTTP-01 & DNS-01) 实现 Auto TLS,支持自定义域名以及完整的请求日志。 ![Domains](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/5bd99807f7125751.png) **托管服务** 与你的应用程序一起配置 Postgres、Redis、S3 (MinIO) 和 MongoDB。Temps 负责处理创建、备份和拆除。 ![Monitoring](https://raw.githubusercontent.com/gotempsh/temps/main/assets/screenshots/monitoring-detail.png)
**请求日志与代理可见性** 记录每一个 HTTP 请求,包含方法、路径、状态、响应时间和路由元数据。无需额外工具即可进行过滤和搜索。 ![Proxy Logs](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/9bfb110470125754.png) **监控与告警** 监控部署失败、运行时崩溃、证书过期和备份健康状况。在问题波及用户之前收到通知。 ![Project Overview](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/f9898e53e7125755.png)
**事务性邮件** 通过 UI 界面添加带有 DKIM 记录的发件人域名。使用 `@temps-sdk/node-sdk` 发送事务性邮件。无需外部邮件服务。 **AI 就绪 (MCP Server)** 内置 Model Context Protocol server (`@temps-sdk/mcp`),使得 AI 智能体可以通过自然语言进行部署、监控和管理基础设施。
### 兼容你的技术栈

Next.js Vite Go Python Rust Java .NET NestJS Docker

支持任意语言、任意框架。自动检测,或者你也可以自带 Dockerfile。

## 快速开始 ``` curl -fsSL https://temps.sh/deploy.sh | bash ``` **测试环境:** Ubuntu 24.04 / 22.04  |  同时兼容 macOS ## Temps 可替代的产品 | 你将获得的功能 | 替代付费产品 | |---|---| | Git 部署 + 预览 URL | Vercel / Netlify / Railway ($20+/月) | | Web 分析 + 漏斗 | PostHog / Plausible ($0-450/月) | | Session Replay | PostHog / FullStory ($0-2000/月) | | 错误追踪 | Sentry ($26+/月) | | 可用性监控 | Better Uptime / Pingdom ($20+/月) | | 托管 Postgres/Redis/S3 | AWS RDS / ElastiCache ($50+/月) | | 事务性邮件 + DKIM | Resend / SendGrid ($20-100/月) | | 请求日志 + 代理 | Cloudflare ($0-200/月) | | **使用 Temps 的总成本** | **$0 (自托管)** | ## Temps 与其他替代方案对比 | 功能特性 | Temps | Coolify | Dokploy | CapRover | Dokku | Railway | Vercel | |---|:---:|:---:|:---:|:---:|:---:|:---:|:---:| | 自托管 | 是 | 是 | 是 | 是 | 是 | 否 | 否 | | 单一二进制文件安装 | 是 | 否 | 否 | 否 | 否 | -- | -- | | Git push 部署 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | | 多节点 / 集群 | 否 | 是 | 是 | 是 | 否 | 是 | 是 | | Web 分析 | 是 | 否 | 否 | 否 | 否 | 是 | 是 | | Session Replay | 是 | 否 | 否 | 否 | 否 | 否 | 否 | | 错误追踪 (兼容 Sentry) | 是 | 否 | 否 | 否 | 否 | 否 | 否 | | 可用性监控 | 是 | 否 | 否 | 否 | 否 | 否 | 否 | | 事务性邮件 + DKIM | 是 | 否 | 否 | 否 | 否 | 否 | 否 | | 托管 Postgres/Redis/S3 | 是 | 是 | 是 | 部分 | 插件 | 是 | 附加组件 | | Pingora 代理 (Cloudflare 级别) | 是 | 否 | 否 | 否 | 否 | 否 | 否 | | Auto TLS (HTTP-01 + DNS-01) | 是 | 是 | 是 | 是 | 插件 | 是 | 是 | | 请求级别日志 | 是 | 否 | 否 | 否 | 否 | 部分 | 部分 | | 预览部署 | 是 | 是 | 是 | 否 | 否 | 是 | 是 | | 使用 Rust 构建 | 是 | 否 | 否 | 否 | 否 | 否 | 否 | | 免费且开源 | 是 | 是 | 是 | 是 | 是 | 否 | 否 | ## 技术栈 - **后端:** Rust, Axum, Sea-ORM, Pingora (Cloudflare 的代理引擎), Bollard (Docker API) - **前端:** React 19, TypeScript, Tailwind CSS, shadcn/ui - **数据库:** PostgreSQL + TimescaleDB - **架构:** 30+ workspace crates,三层服务架构 ## SDK | 包名 | 描述 | |---|---| | [`@temps-sdk/node-sdk`](https://www.npmjs.com/package/@temps-sdk/node-sdk) | 平台 API 客户端 + 兼容 Sentry 的错误追踪 | | [`@temps-sdk/react-analytics`](https://www.npmjs.com/package/@temps-sdk/react-analytics) | React 分析、会话回放、Web Vitals、参与度追踪 | | [`@temps-sdk/kv`](https://www.npmjs.com/package/@temps-sdk/kv) | Serverless 键值存储 | | [`@temps-sdk/blob`](https://www.npmjs.com/package/@temps-sdk/blob) | 文件存储 (兼容 S3) | | [`@temps-sdk/cli`](https://www.npmjs.com/package/@temps-sdk/cli) | 命令行界面 | | [`@temps-sdk/mcp`](https://www.npmjs.com/package/@temps-sdk/mcp) | 面向 AI 智能体的 Model Context Protocol 服务器 |
快速示例 **Analytics** -- 包裹你的 React 应用,其余都是自动的: ``` import { TempsAnalyticsProvider } from '@temps-sdk/react-analytics'; export default function App({ children }) { return {children}; } ``` **错误追踪** -- 兼容 Sentry,开箱即用的替代方案: ``` import { ErrorTracking } from '@temps-sdk/node-sdk'; ErrorTracking.init({ dsn: 'https://key@your-instance.temps.dev/1' }); try { riskyOperation(); } catch (error) { ErrorTracking.captureException(error); } ``` **KV 存储** -- 类 Redis API,零配置: ``` import { kv } from '@temps-sdk/kv'; await kv.set('user:123', { name: 'Alice', plan: 'pro' }, { ex: 3600 }); const user = await kv.get('user:123'); ``` **Blob 存储** -- 上传和提供文件服务: ``` import { blob } from '@temps-sdk/blob'; const { url } = await blob.put('avatars/user-123.png', fileBuffer); const files = await blob.list({ prefix: 'avatars/' }); ```
## 开源许可证 双重许可:[MIT](LICENSE-MIT) 或 [Apache 2.0](LICENSE)。
[temps.sh](https://temps.sh) | [文档](https://temps.sh/docs) | [GitHub](https://github.com/gotempsh/temps)
标签:CD, Git推送部署, Paas, Rust, Sentry兼容, Vercel替代, Web分析, 事务性邮件, 会话回放, 全栈, 分析, 前端部署, 单一二进制文件, 可视化界面, 后端部署, 开源, 持续部署, 服务器管理, 测试用例, 特权提升, 监控, 网站监控, 网络流量审计, 自动化部署, 自托管, 请求拦截, 通知系统, 部署平台, 错误追踪, 零停机部署