From bare server to fully deployed — in under 3 minutes (166s).
curl -fsSL https://temps.sh/deploy.sh | shStop 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.
|
Git Push to Deploy Push to Git, Temps builds and deploys. Auto-detects frameworks, creates preview URLs, and handles zero-downtime rollouts. |
Built-in Analytics & Session Replay Web analytics with funnels, visitor tracking, and session replay (rrweb). Sentry-compatible error tracking. No external services. |
|
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. |
Managed Services Provision Postgres, Redis, S3 (MinIO), and MongoDB alongside your apps. Temps handles creation, backups, and teardown. |
|
Request Logs & Proxy Visibility Every HTTP request logged with method, path, status, response time, and routing metadata. Filter and search without extra tooling. |
Monitoring & Alerts Monitors for deploy failures, runtime crashes, certificate expiry, and backup health. Get notified before problems reach users. |
|
Transactional Email
Add sender domains with DKIM records through the UI. Send transactional emails via |
AI-Ready (MCP Server)
Ship with a Model Context Protocol server ( |
Any language, any framework. Auto-detected or bring your own Dockerfile.
curl -fsSL https://temps.sh/deploy.sh | shTested on: Ubuntu 24.04 / 22.04 | Also works on macOS
| 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) |
| Feature | Temps | Coolify | CapRover | Dokku | Railway | Vercel |
|---|---|---|---|---|---|---|
| Self-hosted | Yes | Yes | Yes | Yes | No | No |
| Single binary install | Yes | No | No | No | -- | -- |
| Git push deploy | Yes | Yes | Yes | Yes | Yes | Yes |
| Web analytics | Yes | No | No | No | No | No |
| Session replay | Yes | No | No | No | No | No |
| Error tracking (Sentry-compatible) | Yes | No | No | No | No | No |
| Uptime monitoring | Yes | No | No | No | No | No |
| Transactional email + DKIM | Yes | No | No | No | No | No |
| Managed Postgres/Redis/S3 | Yes | Yes | Partial | Plugin | Yes | Add-on |
| Pingora proxy (Cloudflare-grade) | Yes | No | No | No | No | No |
| Auto TLS (HTTP-01 + DNS-01) | Yes | Yes | Yes | Plugin | Yes | Yes |
| Request-level logging | Yes | No | No | No | Partial | Partial |
| Preview deployments | Yes | Yes | No | No | Yes | Yes |
| Built with Rust | Yes | No | No | No | No | No |
| Free & open source | Yes | Yes | Yes | Yes | No | No |
- 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
| Package | Description |
|---|---|
@temps-sdk/node-sdk |
Platform API client + Sentry-compatible error tracking |
@temps-sdk/react-analytics |
React analytics, session replay, Web Vitals, engagement tracking |
@temps-sdk/kv |
Serverless key-value store |
@temps-sdk/blob |
File storage (S3-compatible) |
@temps-sdk/cli |
Command-line interface |
@temps-sdk/mcp |
Model Context Protocol server for AI agents |
Quick examples
Analytics -- wrap your React app, everything else is automatic:
import { TempsAnalyticsProvider } from '@temps-sdk/react-analytics';
export default function App({ children }) {
return <TempsAnalyticsProvider>{children}</TempsAnalyticsProvider>;
}Error tracking -- Sentry-compatible, drop-in replacement:
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:
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:
import { blob } from '@temps-sdk/blob';
const { url } = await blob.put('avatars/user-123.png', fileBuffer);
const files = await blob.list({ prefix: 'avatars/' });We welcome contributions. See CONTRIBUTING.md for guidelines.
git clone https://github.com/gotempsh/temps.git
cd temps
cargo build --releaseDual-licensed under MIT or Apache 2.0.






