安装脚本面向全新的 Ubuntu 24.04/22.04 服务器,并会自动安装 Docker 和运行 PostgreSQL;没有域名时需选 quick 模式,使用 sslip.io 临时域名;AI 沙箱依赖 Docker 或 Firecracker,需确认宿主机支持。
temps
gotempshApache-2.0活跃维护一个 Rust 编写的自托管一体化平台,把部署、分析、会话回放、错误追踪、邮件和 AI 沙箱打包进单个二进制,替代 Vercel、Sentry、PostHog 等一堆服务。
AI-native open-source alternative to Vercel + Sentry + PostHog + Pingdom + Resend + E2B. 440+ CLI operations with drop-in skills for Claude Code, Codex & OpenCode — deployments, analytics, session replay, error tracking, OpenTelemetry, email, sandboxes & AI gateway in one self-hosted Rust binary.
curl -fsSL https://temps.sh/deploy.sh | bashREADME 未说明具体 CPU、内存或显存要求,仅建议使用全新的 Ubuntu 24.04 或 22.04 服务器;安装脚本会在缺少 Docker 时自动安装 Docker。
自托管 Rust 单二进制,把部署、监控、分析、邮件和 AI 沙箱整合到一台服务器
一个 Rust 编写的自托管一体化平台,把部署、分析、会话回放、错误追踪、邮件和 AI 沙箱打包进单个二进制,替代 Vercel、Sentry、PostHog 等一堆服务。
核心能力
- Git push 部署,自动生成预览 URL 并零停机滚动发布
- 托管 PostgreSQL、Redis、MongoDB、MariaDB 和 S3 兼容存储并带备份
- 兼容 Sentry SDK 的错误追踪,可把 issue 交给编码 agent 修复
- 接收 OpenTelemetry 分布式追踪,跨服务定位失败 span
- 提供 OpenAI 兼容 AI 网关,按模型统计用量与成本
容易踩的坑
- v0.1.0-nightly.20261109.36d68029fpre-release最新正式版2026-11-09 · 2026-11-09 13:45 UTC
Changes
[0.1.0-nightly.20261109.36d68029f] - 2026-11-09
Added
- git: Require a server-issued state on the GitHub App manifest callback (#1846)
- plugins: Add AI tool declaration index foundations
- plugins: Connect marked tools to chat with consent and audited approvals
- plugins: Add an installable AI tools playground
Documentation
- plugins: Explain default-off actor consent
- architecture: Refresh plugin AI tools dependency map
Fixed
- web: Open external pages without a reference back to the console (#1847)
- plugins: Inherit shared AI tool path parameters
- plugins: Resolve parameter references before applying overrides
- plugins: Decode composite tool inputs and index AI settings
- plugins: Refresh active tools and preserve referenced input schemas
- plugins: Refresh read tools and preserve composite JSON inputs
- plugins: Validate root bodies and rebase recursive tool schemas
- plugins: Enforce declared routes and preserve query input types
- plugins: Preserve composite query types and reject root maps
- web: Keep plugin AI settings secondary to the workspace
- plugins: Resolve tool routes by HTTP method
- ai: Preserve execution receipts across plugin refreshes
- plugins: Recover stale consent and decode composite strings
- plugins: Redact proxy credentials from AI tool responses
- plugins: Preserve tool inputs and expose CLI consent bindings
- ai: Classify plugin consent endpoints in tool policy
- plugins: Harden AI tool contracts and consent lifecycle
- plugins: Protect credential boundaries and report publication failures
- plugins: Honor declared query parameter serialization
- plugins: Bound audits and preserve uninstall consent boundaries
- plugins: Align consent errors and required query help with contracts
- plugins: Recover consent and bind it to installed binaries
- plugins: Reject unsupported path parameter encodings
- plugins: Validate paths and revoke tools before uninstall writes
- plugins: Reconcile startup consent and show partial activity totals
- plugins: Match playground to the published runtime contract
Testing
- plugin-sdk: Run AI tool tests with Bun
- plugins: Restore consent schema in actor rollback coverage
- plugins: Check persisted actor consent after migration
The complete, generated history is attached to this release as
CHANGELOG.md.Installation
Quick Install (Recommended)
macOS, Linux, and WSL (installs exactly this release):
curl -fsSL https://github.com/gotempsh/temps/releases/download/v0.1.0-nightly.20261109.36d68029f/install.sh | bash -s -- v0.1.0-nightly.20261109.36d68029fHomebrew (macOS and Linux)
# Download formula curl -fsSL https://github.com/gotempsh/temps/releases/download/v0.1.0-nightly.20261109.36d68029f/temps.rb -o /tmp/temps.rb # Install brew install /tmp/temps.rb # Verify temps --versionManual Installation
Linux AMD64
# Download curl -LO https://github.com/gotempsh/temps/releases/download/v0.1.0-nightly.20261109.36d68029f/temps-linux-amd64.tar.gz # Extract tar -xzf temps-linux-amd64.tar.gz # Move to PATH sudo mv temps /usr/local/bin/temps # Firecracker sandboxes only: `temps firecracker setup` looks for the # guest agent next to the temps binary sudo mv temps-vm-agent /usr/local/bin/temps-vm-agent # Verify temps --versionLinux ARM64
# Download curl -LO https://github.com/gotempsh/temps/releases/download/v0.1.0-nightly.20261109.36d68029f/temps-linux-arm64.tar.gz # Extract tar -xzf temps-linux-arm64.tar.gz # Move to PATH sudo mv temps /usr/local/bin/temps # Firecracker sandboxes only: `temps firecracker setup` looks for the # guest agent next to the temps binary sudo mv temps-vm-agent /usr/local/bin/temps-vm-agent # - v0.1.0-nightly.20261107.58b2fe80epre-release2026-11-07 · 2026-11-07 11:39 UTC
查看更新说明
Changes
[0.1.0-nightly.20261107.58b2fe80e] - 2026-11-07
Added
- ingress: Name tunnel apps one level deep, as app-lab.example.com (#1835)
- ds: Open records by clicking the row, without link styling (#1840)
- nodes: Change a worker's labels after it joined with
temps agent labels(#1841)
Fixed
- Console refusals reported as success, configurable stop timeout, rollback and multi-arch deploy fixes (#1828)
- nodes: Run a Mac worker's runtime health probes from its mesh sidecar (#1833)
- nodes: Pair a worker with the Add worker install command, pinned to this server's release (#1834)
- nodes: A worker joining a plane built between releases installs the newest nightly, not the older tag (#1837)
- ingress: Keep a tunnel's hostname suffix in long names and say setup publishes nothing yet (#1839)
Testing
- providers: Stop the exec-credential log test losing its events to parallel tests (#1842)
[0.1.0-beta.61] - 2026-11-06
The complete, generated history is attached to this release as
CHANGELOG.md.Installation
Quick Install (Recommended)
macOS, Linux, and WSL (installs exactly this release):
curl -fsSL https://github.com/gotempsh/temps/releases/download/v0.1.0-nightly.20261107.58b2fe80e/install.sh | bash -s -- v0.1.0-nightly.20261107.58b2fe80eHomebrew (macOS and Linux)
# Download formula curl -fsSL https://github.com/gotempsh/temps/releases/download/v0.1.0-nightly.20261107.58b2fe80e/temps.rb -o /tmp/temps.rb # Install brew install /tmp/temps.rb # Verify temps --versionManual Installation
Linux AMD64
# Download curl -LO https://github.com/gotempsh/temps/releases/download/v0.1.0-nightly.20261107.58b2fe80e/temps-linux-amd64.tar.gz # Extract tar -xzf temps-linux-amd64.tar.gz # Move to PATH sudo mv temps /usr/local/bin/temps # Firecracker sandboxes only: `temps firecracker setup` looks for the # guest agent next to the temps binary sudo mv temps-vm-agent /usr/local/bin/temps-vm-agent # Verify temps --versionLinux ARM64
# Download curl -LO https://github.com/gotempsh/temps/releases/download/v0.1.0-nightly.20261107.58b2fe80e/temps-linux-arm64.tar.gz # Extract tar -xzf temps-linux-arm64.tar.gz # Move to PATH sudo mv temps /usr/local/bin/temps # Firecracker sandboxes only: `temps firecracker setup` looks for the # guest agent next to the temps binary sudo mv temps-vm-agent /usr/local/bin/temps-vm-agent # Verify temps --versionmacOS AMD64 (Intel)
# Download curl -LO https://github.com/gotempsh/temps/releases/download/v0.1.0-nightly.20261107.58b2fe80e/temps-darwin-amd64.tar.gz # Extract tar -xzf temps-darwin-amd64.tar.gz # Move to PATH sudo mv temps /usr/local/bin/temps # Verify temps --versionmacOS ARM64 (Apple Silicon)
# Download curl -LO https://github.com/gotempsh/temps/releases/download/v0.1.0-nightly.20261107.58b2fe80e/temps-darwin-arm64.tar.gz # Extract tar -xzf temps-darwin-arm64.tar.gz # Move to PATH sudo mv temps /usr/local/bin/temps # Verify temps --versionChecksums
# Download checksums curl -LO https://github.com/gotempsh/temps/releases/download/v0.1.0-nightly.20261107.58b2fe80e/checksums.txt # Verify checksum (Linux/macOS) sha256sum -c checksums.txt --ignore-missingBinary signatures
Each tarball has a
.sigstore.jsoncosign bundle. Download both and verify the release workflow identity before extracting the archive:cosign verify-blob temps-linux-amd64.tar.gz \ - v0.1.0-beta.61pre-release2026-11-06 · 2026-11-06 15:02 UTC
查看更新说明
Changes
[0.1.0-beta.61] - 2026-11-06
Added
- nodes: Join a Mac as a worker with its Docker app, as the user and without sudo (#1824)
CI
- release: Build the macOS binaries on macos-15 (#1830)
Documentation
- adr: Record how a Mac joins as a worker with no VM to manage (ADR 090)
- adr: State that Mac workloads can reach the node API through the Mac (ADR 090)
- adr: Say the Mac policy window lasts until a successful pass, not 15 s (ADR 090)
Fixed
- web: Stop the dark theme rendering light-only colours
- web: Keep cache-hit badges readable and only accept dark colours in the scan
- web: Match native controls to the console theme and keep the Cloudflare link readable
- web: Unbreak the console build and reject variant-only dark colours in the scan
- cli: Restart the agent service after temps join rewrites its config (#1829)
- network: Turn the mesh on with a requested range when the default overlaps (#1831)
- ingress: Keep the client port in the admin ingress Host header (#1827)
Testing
- web: Keep the colour-scheme test beside globals.css
- web: Require an all-sides dark border and a real arbitrary colour in the scan
The complete, generated history is attached to this release as
CHANGELOG.md.Installation
Quick Install (Recommended)
macOS, Linux, and WSL (installs exactly this release):
curl -fsSL https://github.com/gotempsh/temps/releases/download/v0.1.0-beta.61/install.sh | bash -s -- v0.1.0-beta.61Homebrew (macOS and Linux)
# Download formula curl -fsSL https://github.com/gotempsh/temps/releases/download/v0.1.0-beta.61/temps.rb -o /tmp/temps.rb # Install brew install /tmp/temps.rb # Verify temps --versionManual Installation
Linux AMD64
# Download curl -LO https://github.com/gotempsh/temps/releases/download/v0.1.0-beta.61/temps-linux-amd64.tar.gz # Extract tar -xzf temps-linux-amd64.tar.gz # Move to PATH sudo mv temps /usr/local/bin/temps # Firecracker sandboxes only: `temps firecracker setup` looks for the # guest agent next to the temps binary sudo mv temps-vm-agent /usr/local/bin/temps-vm-agent # Verify temps --versionLinux ARM64
# Download curl -LO https://github.com/gotempsh/temps/releases/download/v0.1.0-beta.61/temps-linux-arm64.tar.gz # Extract tar -xzf temps-linux-arm64.tar.gz # Move to PATH sudo mv temps /usr/local/bin/temps # Firecracker sandboxes only: `temps firecracker setup` looks for the # guest agent next to the temps binary sudo mv temps-vm-agent /usr/local/bin/temps-vm-agent # Verify temps --versionmacOS AMD64 (Intel)
# Download curl -LO https://github.com/gotempsh/temps/releases/download/v0.1.0-beta.61/temps-darwin-amd64.tar.gz # Extract tar -xzf temps-darwin-amd64.tar.gz # Move to PATH sudo mv temps /usr/local/bin/temps # Verify temps --versionmacOS ARM64 (Apple Silicon)
# Download curl -LO https://github.com/gotempsh/temps/releases/download/v0.1.0-beta.61/temps-darwin-arm64.tar.gz # Extract tar -xzf temps-darwin-arm64.tar.gz # Move to PATH sudo mv temps /usr/local/bin/temps # Verify temps --versionChecksums
# Download checksums curl -LO https://github.com/gotempsh/temps/releases/download/v0.1.0-beta.61/checksums.txt # Verify checksum (Linux/macOS) sha256sum -c checksums.txt --ignore-missingBinary signatures
Each tarball has a
.sigstore.jsoncosign bundle. Download both and verify the release workflow identity before extracting the archive:cosign verify-blob temps-linux-amd64.tar.gz \ --bundle temps-linux-amd64.tar.gz.sigstore.json \ --certificate-identity "https://github.com/gotempsh/temps/.g - v0.1.0-nightly.20261104.717ef980epre-release2026-11-04 · 2026-11-04 13:16 UTC
查看更新说明
Changes
[0.1.0-nightly.20261104.717ef980e] - 2026-11-04
Added
- nodes: Encrypt values sent to workers with the node's public key
- git: Reauthorize existing OAuth connections
Build
- deps: Bump bollard to 0.21.1 and testcontainers to 0.28
CI
- rust-tests: Report what fills the disk in unit test jobs
- rust-tests: Keep the disk report going after a failed command
- release: Stop the Linux ARM64 build from losing its runner
- release: Log ARM64 runner resources before the first sleep
- release: Check every ARM64 resource probe runs before the first sleep
Documentation
- deployments: Qualify secret mounts and list every TLS-only sandbox channel
- nodes: Say which way each TLS-only response travels
Fixed
- deployments: Keep secrets out of final image metadata on custom builds
- deployer: Treat a truncated exec stream as a failed probe on bollard 0.21
- deployments: Keep the running Compose stack when a deploy fails before replacing it
- Resolve the 20 open automated-qa issues across API, workers, proxy, AI gateway and backup (#1779)
- Image transfer timeouts, Dragonfly startup and false deployment reverts (#1787)
- web: Report refused console actions accurately and with the reason (#1794)
- git: Preserve reauthorized grants during concurrent refreshes
- api: Regenerate OAuth reauthorization client routes
- git: Keep token refresh independent of sync status
- deployer: Stop following build status when a secret-mount build is cancelled
- deployments: Pass public values when a build falls back to the control plane
- deployer: End the BuildKit session with every secret-mount build
- deployments: Serve a secret mount however BuildKit names it
- deployments: Withhold secrets from ARGs hidden by Dockerfile line syntax
- cli: Make rollback -y skip the confirmation prompt
- deployments: Run the default health check on rollback and promotion
- cli: Fail a targetless rollback without a terminal before fetching history
Testing
- deployments: Skip the rollback probe tests when Docker is unavailable
[0.1.0-beta.58] - 2026-11-03
The complete, generated history is attached to this release as
CHANGELOG.md.Installation
Quick Install (Recommended)
macOS, Linux, and WSL (installs exactly this release):
curl -fsSL https://github.com/gotempsh/temps/releases/download/v0.1.0-nightly.20261104.717ef980e/install.sh | bash -s -- v0.1.0-nightly.20261104.717ef980eHomebrew (macOS and Linux)
# Download formula curl -fsSL https://github.com/gotempsh/temps/releases/download/v0.1.0-nightly.20261104.717ef980e/temps.rb -o /tmp/temps.rb # Install brew install /tmp/temps.rb # Verify temps --versionManual Installation
Linux AMD64
# Download curl -LO https://github.com/gotempsh/temps/releases/download/v0.1.0-nightly.20261104.717ef980e/temps-linux-amd64.tar.gz # Extract tar -xzf temps-linux-amd64.tar.gz # Move to PATH sudo mv temps /usr/local/bin/temps # Firecracker sandboxes only: `temps firecracker setup` looks for the # guest agent next to the temps binary sudo mv temps-vm-agent /usr/local/bin/temps-vm-agent # Verify temps --versionLinux ARM64
# Download curl -LO https://github.com/gotempsh/temps/releases/download/v0.1.0-nightly.20261104.717ef980e/temps-linux-arm64.tar.gz # Extract tar -xzf temps-linux-arm64.tar.gz # Move to PATH sudo mv temps /usr/local/bin/temps # Firecracker sandboxes only: `temps firecracker setup` looks for the # guest agent next to the temps binary sudo mv temps-vm-agent /usr/local/bin/temps-vm-agent # Verify temps --versionmacOS AMD64 (Intel)
# Download curl -LO https://github.com/gotempsh/temps/releases/download/v0.1.0-nightly.20261104. - v0.1.0-nightly.20261031.031aafcf3pre-release2026-10-31 · 2026-10-31 11:31 UTC
查看更新说明
Changes
[0.1.0-nightly.20261031.031aafcf3] - 2026-10-30
Added
- presets: Offer Node builds and skip build inputs in repo detection (#1672)
- analytics: Exclude datacenter traffic, referrer spam and user-defined traffic (#1673)
CI
- Cut PR wall time with an e2e smoke gate and parallel tests (#1679)
Fixed
- deps: Patch security vulnerabilities reported by Dependabot
- firecracker: Say why micro_vm deployments are refused (#1676)
The complete, generated history is attached to this release as
CHANGELOG.md.Installation
Quick Install (Recommended)
macOS, Linux, and WSL (installs exactly this release):
curl -fsSL https://github.com/gotempsh/temps/releases/download/v0.1.0-nightly.20261031.031aafcf3/install.sh | bash -s -- v0.1.0-nightly.20261031.031aafcf3Homebrew (macOS and Linux)
# Download formula curl -fsSL https://github.com/gotempsh/temps/releases/download/v0.1.0-nightly.20261031.031aafcf3/temps.rb -o /tmp/temps.rb # Install brew install /tmp/temps.rb # Verify temps --versionManual Installation
Linux AMD64
# Download curl -LO https://github.com/gotempsh/temps/releases/download/v0.1.0-nightly.20261031.031aafcf3/temps-linux-amd64.tar.gz # Extract tar -xzf temps-linux-amd64.tar.gz # Move to PATH sudo mv temps /usr/local/bin/temps # Firecracker sandboxes only: `temps firecracker setup` looks for the # guest agent next to the temps binary sudo mv temps-vm-agent /usr/local/bin/temps-vm-agent # Verify temps --versionLinux ARM64
# Download curl -LO https://github.com/gotempsh/temps/releases/download/v0.1.0-nightly.20261031.031aafcf3/temps-linux-arm64.tar.gz # Extract tar -xzf temps-linux-arm64.tar.gz # Move to PATH sudo mv temps /usr/local/bin/temps # Firecracker sandboxes only: `temps firecracker setup` looks for the # guest agent next to the temps binary sudo mv temps-vm-agent /usr/local/bin/temps-vm-agent # Verify temps --versionmacOS AMD64 (Intel)
# Download curl -LO https://github.com/gotempsh/temps/releases/download/v0.1.0-nightly.20261031.031aafcf3/temps-darwin-amd64.tar.gz # Extract tar -xzf temps-darwin-amd64.tar.gz # Move to PATH sudo mv temps /usr/local/bin/temps # Verify temps --versionmacOS ARM64 (Apple Silicon)
# Download curl -LO https://github.com/gotempsh/temps/releases/download/v0.1.0-nightly.20261031.031aafcf3/temps-darwin-arm64.tar.gz # Extract tar -xzf temps-darwin-arm64.tar.gz # Move to PATH sudo mv temps /usr/local/bin/temps # Verify temps --versionChecksums
# Download checksums curl -LO https://github.com/gotempsh/temps/releases/download/v0.1.0-nightly.20261031.031aafcf3/checksums.txt # Verify checksum (Linux/macOS) sha256sum -c checksums.txt --ignore-missingBinary signatures
Each tarball has a
.sigstore.jsoncosign bundle. Download both and verify the release workflow identity before extracting the archive:cosign verify-blob temps-linux-amd64.tar.gz \ --bundle temps-linux-amd64.tar.gz.sigstore.json \ --certificate-identity "https://github.com/gotempsh/temps/.github/workflows/release.yml@refs/tags/v0.1.0-nightly.20261031.031aafcf3" \ --certificate-oidc-issuer https://token.actions.githubusercontent.comProvenance and SBOM
Every tarball carries a Sigstore-signed SLSA build provenance attestation and an SBOM attestation (
temps-sbom.spdx.json, also attached to this release):gh attestation verify temps-linux-amd64.tar.gz --repo gotempsh/tempsServer image
The multi-arch
ghcr.io/gotempsh/temps:0.1.0-nightly.20261031.031aafcf3image is cosign-signed by digest and carries a Sigstore-signed build provenance attestation:gh attestation verify oci://ghcr.io/gotempsh/t
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
Website · Docs · Discussions
Temps is one self-hosted binary that deploys your apps and runs everything around them: databases, analytics, error tracking, traces, logs, uptime, email, AI sandboxes and an AI gateway. Open source, on your own server.
Install on a VPS
curl -fsSL https://temps.sh/deploy.sh | bash
Run it on a fresh Ubuntu 24.04 or 22.04 server. It installs Docker if it is missing, runs PostgreSQL, sets Temps up as a service with automatic HTTPS, and prints your console URL and admin password. No domain yet? Pick quick mode and you get https://console.<server-ip>.sslip.io.
Quickstart · Choosing a server · Rather not run a server? Temps Cloud
Features
Get started with AI
Temps ships skills that teach coding agents (Claude Code, Codex, Cursor, OpenCode and others) to install Temps on a server, connect to it and run every console operation through the CLI. Add them to your agent:
bunx skills add gotempsh/temps --skill temps temps-platform-setup
No server yet? Give your agent a fresh Ubuntu server it can reach over SSH and ask:
Use the Temps skills to install Temps on [email protected] in quick mode, connect the CLI to it, then deploy this repository and tell me its URL when it is live.
It runs the official installer over SSH, leaves the generated admin password and API key on the server, and gives you a browser link to approve the CLI login, so no credential ever passes through the chat.
Already running Temps? Connect the CLI to it, then ask your agent:
bunx @temps-sdk/[email protected] login https://console.your-server.example
Use the Temps skill to verify my connection and list the services on this instance. Do not make any changes.
Use the Temps skill to deploy this repository to Temps and tell me its URL when it is live.
For an agent that runs unattended, open Connect your coding agent in the console (/setup/ai): it creates a dedicated API key and checks that the agent's first request arrives.
Skills · CLI · MCP servers
Documentation
Everything else is in the docs at temps.sh/docs:
- Your first deployment
- Import from another platform
- SDKs — analytics, error tracking, KV and blob storage
- Production checklist and upgrading
- How Temps compares to Vercel, Coolify, Dokploy and others
Telemetry
Temps sends anonymous usage events (a random instance ID, event names such as deploy_succeeded, and counts) so the maintainers can see whether self-hosted installs work. It never sends emails, IPs, repository names, domains or anything you typed, and your application data never leaves your server. Turn it off in Settings › Telemetry, or for a whole host with TEMPS_TELEMETRY=0. Details
Community & contributing
Questions and ideas in Discussions, bugs in Issues. Contributions are welcome: see CONTRIBUTING.md.
License
Dual-licensed under MIT or Apache 2.0. Forks and derivative works are welcome, including rebranded and commercial distributions, as long as they keep the copyright, license and attribution notices the chosen license requires. See NOTICE.
temps.sh | Documentation | GitHub
English | 简体中文 | Español | Français | Deutsch | 日本語 | Português