Quickstart — Deploy Your First App in 5 Minutes

Temps is a self-hosted deployment platform — a Vercel/Netlify alternative you run on your own server. One curl command installs Docker, TimescaleDB (PostgreSQL), SSL certificates, and the Temps binary. Your first app goes live in under 5 minutes. Temps is free to self-host (Apache 2.0) or ~$6/mo on Temps Cloud (Hetzner cost + 30% margin, no per-seat fees, no bandwidth billing). Every deployed app gets automatic HTTPS, built-in web analytics, Sentry-compatible error tracking, rrweb session replay, and 60-second uptime monitoring — no third-party subscriptions required.


Step 1: Install Temps

SSH into your server and run the installer:

curl -fsSL https://temps.sh/deploy.sh | bash

Want to inspect it before running? curl -fsSL https://temps.sh/deploy.sh | less

The wizard walks you through each step interactively. You'll be prompted to:

  • Approve the Docker install — only if Docker isn't already installed and running
  • Choose how to provision your domain — a free automatic subdomain under temps.sh via a Temps Cloud account, or your own domain with a Let's Encrypt certificate (you add the DNS records)
  • Set your admin credentials — an admin email and password (the password defaults to a generated value you can accept)
  • Confirm installing the background service — recommended, so Temps starts on boot

The database password and the verification API key are generated for you automatically — you don't enter those. The wizard prints the API key once at the end, so save it then.

The full step sequence:

  1. Docker — Installs and verifies Docker Engine
  2. Database — Sets up TimescaleDB (PostgreSQL) in a Docker container
  3. Domain & SSL — Provisions your domain and TLS certificates (via Temps Cloud auto-subdomain or your own domain with Let's Encrypt)
  4. Temps binary — Downloads and configures the Temps server, then installs a systemd service so it starts on boot
  5. Verification — Generates an API key and confirms the console is reachable

When it finishes, the installer prints a success block like this:

 SETUP COMPLETE
  Console:         https://yourdomain.com
  Admin email:     you@example.com
  Admin password:  ••••••••••••••••
  API key:         tk_xxxxxxxxxxxxxxxx
 ⚠ Save your admin password and API key now — they won't be shown again.

If you don't see this block, the installer is idempotent — re-run the same command to resume. Still stuck? See Troubleshooting.

Once complete, open the console URL shown at the end to continue.


Step 2: Complete the Onboarding

  1. Log in — Use the admin email and password you set during install (Step 1). The installer already created this account, so you go straight to the login screen.
  2. Connect your Git provider — In the sidebar, open Git Providers → Add Git Provider, choose GitHub or GitLab, and authorize access. See Connect a Git Provider for the full GitHub App and access-token walkthrough.
  3. Confirm it's connected — The Git Providers page should show your provider as Active before you continue.

Step 3: Deploy Your First App

There are three ways to ship your app — click through the dashboard, run the CLI yourself, or hand the steps to your coding agent. Pick whichever fits your workflow.

Deploy your first app

  1. 1

    Go to Projects, then click New Project (top-right).

  2. 2

    On the Browse Repositories tab, select your repository from the list.

  3. 3

    Choose the branch to deploy (e.g. main).

  4. 4

    Click Deploy and watch the build logs stream in real time.

    Checkpoint: Your app goes live in ~30–60 seconds — open the assigned URL and confirm it serves your app over HTTPS.

Every deployment — however you trigger it — automatically gets:

  • HTTPS — Pingora proxy terminates TLS, certificates provisioned via Let's Encrypt
  • Web analytics — visitor tracking and page views via first-party _temps_visitor_id cookie (no third-party scripts)
  • Error tracking — Sentry-compatible DSN; errors grouped by pgvector similarity
  • Session replay — rrweb-based recording, stored on your own server
  • Uptime monitoring — health checks every 60 seconds, alerts on failure
  • Live logs — real-time container log streaming in the dashboard

What Gets Auto-Detected?

Temps automatically detects your framework and configures the build:

FrameworkBuild CommandStart Command
Next.jsnpm run buildnpm start
Vite/Reactnpm run buildStatic serve
Node.jsnpm installnpm start
Pythonpip install -r requirements.txtuvicorn main:app
Gogo buildBinary execution
Static HTMLNoneTemps serves (zero overhead)

For custom applications, add a Dockerfile to your repository.


What Temps Costs

OptionCostWhat's included
Self-hostFree (you pay your VPS)Full feature set, Apache 2.0 license, unlimited projects/seats/deployments
Temps Cloud~$6/mo (Hetzner CAX11)Managed server, automatic updates, support — same binary, no lock-in

A typical self-hosted setup on Hetzner CAX11 (2 vCPU, 4 GB RAM) costs ~$4.15/mo. Temps Cloud adds a 30% margin for management overhead, bringing it to ~$6/mo. Both options include all observability features — no separate plans for analytics, error tracking, or session replay.


Next Steps

  • Add a custom domain — Go to Project Settings → Domains
  • Set environment variables — Go to Project Settings → Environment Variables
  • View analytics — Check the Analytics tab in your project
  • Set up error tracking — Get your DSN from Error Tracking → DSN & Setup
  • Invite team members — Go to Settings → Team Members

Want a deeper walkthrough of each step? See Your First Deployment.

Already running Temps and need to update it? See Upgrade Temps.

Was this page helpful?