Temps ### The open-source, self-hosted deployment platform. ### Deploy, observe, and scale -- from a single binary. [![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) [Website](https://temps.sh) | [Documentation](https://temps.sh/docs) | [Quick Start](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).

```bash curl -fsSL https://temps.sh/deploy.sh | bash ``` ![Temps Dashboard](assets/screenshots/dashboard.png) Stop paying for 6 different SaaS tools. Temps replaces your deployment platform, analytics, error tracking, session replay, uptime monitoring, and transactional email -- all self-hosted, all in one binary. --- ## Features
**Git Push to Deploy** Push to Git, Temps builds and deploys. Auto-detects frameworks, creates preview URLs, and handles zero-downtime rollouts. ![Deployments](assets/screenshots/deployments.png) **Built-in Analytics & Session Replay** Web analytics with funnels, visitor tracking, and session replay (rrweb). Sentry-compatible error tracking. No external services. ![Analytics](assets/screenshots/analytics.png)
**Pingora-Powered Proxy** Runs on Cloudflare's Pingora engine. Auto TLS via Let's Encrypt (HTTP-01 & DNS-01), custom domains, and full request logging. ![Domains](assets/screenshots/domains.png) **Managed Services** Provision Postgres, Redis, S3 (MinIO), and MongoDB alongside your apps. Temps handles creation, backups, and teardown. ![Monitoring](assets/screenshots/monitoring-detail.png)
**Request Logs & Proxy Visibility** Every HTTP request logged with method, path, status, response time, and routing metadata. Filter and search without extra tooling. ![Proxy Logs](assets/screenshots/proxy-logs.png) **Monitoring & Alerts** Monitors for deploy failures, runtime crashes, certificate expiry, and backup health. Get notified before problems reach users. ![Project Overview](assets/screenshots/project-overview.png)
**Transactional Email** Add sender domains with DKIM records through the UI. Send transactional emails via `@temps-sdk/node-sdk`. No external email service needed. **AI-Ready (MCP Server)** Ship with a Model Context Protocol server (`@temps-sdk/mcp`) so AI agents can deploy, monitor, and manage your infrastructure through natural language.
### Works with your stack

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

Any language, any framework. Auto-detected or bring your own Dockerfile.

--- ## Quick Start ```bash curl -fsSL https://temps.sh/deploy.sh | bash ``` **Tested on:** Ubuntu 24.04 / 22.04  |  Also works on macOS --- ## What Temps replaces | What you get | Instead of paying for | |---|---| | Git deployments + preview URLs | Vercel / Netlify / Railway ($20+/mo) | | Web analytics + funnels | PostHog / Plausible ($0-450/mo) | | Session replay | PostHog / FullStory ($0-2000/mo) | | Error tracking | Sentry ($26+/mo) | | Uptime monitoring | Better Uptime / Pingdom ($20+/mo) | | Managed Postgres/Redis/S3 | AWS RDS / ElastiCache ($50+/mo) | | Transactional email + DKIM | Resend / SendGrid ($20-100/mo) | | Request logs + proxy | Cloudflare ($0-200/mo) | | **Total with Temps** | **$0 (self-hosted)** | --- ## Temps vs. Alternatives | Feature | Temps | Coolify | Dokploy | CapRover | Dokku | Railway | Vercel | |---|:---:|:---:|:---:|:---:|:---:|:---:|:---:| | Self-hosted | Yes | Yes | Yes | Yes | Yes | No | No | | Single binary install | Yes | No | No | No | No | -- | -- | | Git push deploy | Yes | Yes | Yes | Yes | Yes | Yes | Yes | | Multi-node / clustering | No | Yes | Yes | Yes | No | Yes | Yes | | Web analytics | Yes | No | No | No | No | Yes | Yes | | Session replay | Yes | No | No | No | No | No | No | | Error tracking (Sentry-compatible) | Yes | No | No | No | No | No | No | | Uptime monitoring | Yes | No | No | No | No | No | No | | Transactional email + DKIM | Yes | No | No | No | No | No | No | | Managed Postgres/Redis/S3 | Yes | Yes | Yes | Partial | Plugin | Yes | Add-on | | Pingora proxy (Cloudflare-grade) | Yes | No | No | No | No | No | No | | Auto TLS (HTTP-01 + DNS-01) | Yes | Yes | Yes | Yes | Plugin | Yes | Yes | | Request-level logging | Yes | No | No | No | No | Partial | Partial | | Preview deployments | Yes | Yes | Yes | No | No | Yes | Yes | | Built with Rust | Yes | No | No | No | No | No | No | | Free & open source | Yes | Yes | Yes | Yes | Yes | No | No | --- ## Tech Stack - **Backend:** Rust, Axum, Sea-ORM, Pingora (Cloudflare's proxy engine), Bollard (Docker API) - **Frontend:** React 19, TypeScript, Tailwind CSS, shadcn/ui - **Database:** PostgreSQL + TimescaleDB - **Architecture:** 30+ workspace crates, three-layer service architecture --- ## SDKs | Package | Description | |---|---| | [`@temps-sdk/node-sdk`](https://www.npmjs.com/package/@temps-sdk/node-sdk) | Platform API client + Sentry-compatible error tracking | | [`@temps-sdk/react-analytics`](https://www.npmjs.com/package/@temps-sdk/react-analytics) | React analytics, session replay, Web Vitals, engagement tracking | | [`@temps-sdk/kv`](https://www.npmjs.com/package/@temps-sdk/kv) | Serverless key-value store | | [`@temps-sdk/blob`](https://www.npmjs.com/package/@temps-sdk/blob) | File storage (S3-compatible) | | [`@temps-sdk/cli`](https://www.npmjs.com/package/@temps-sdk/cli) | Command-line interface | | [`@temps-sdk/mcp`](https://www.npmjs.com/package/@temps-sdk/mcp) | Model Context Protocol server for AI agents |
Quick examples **Analytics** -- wrap your React app, everything else is automatic: ```tsx import { TempsAnalyticsProvider } from '@temps-sdk/react-analytics'; export default function App({ children }) { return {children}; } ``` **Error tracking** -- Sentry-compatible, drop-in replacement: ```typescript 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 store** -- Redis-like API, zero config: ```typescript 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 storage** -- upload and serve files: ```typescript import { blob } from '@temps-sdk/blob'; const { url } = await blob.put('avatars/user-123.png', fileBuffer); const files = await blob.list({ prefix: 'avatars/' }); ```
--- ## Contributing We welcome contributions. See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines. ```bash git clone https://github.com/gotempsh/temps.git cd temps cargo build --release ``` --- ## License Dual-licensed under [MIT](LICENSE-MIT) or [Apache 2.0](LICENSE). ---
[temps.sh](https://temps.sh) | [Documentation](https://temps.sh/docs) | [GitHub](https://github.com/gotempsh/temps)