Skip to main content

Getting Started with Temps

Temps is a lightweight, single-binary alternative to Vercel that runs on your own infrastructure. It provides automated deployments, preview environments, and SSL certificate management - all while keeping your data and deployments under your control.

Installation

Download and install Temps using one of these methods:

# macOS (Intel)
curl -L https://pub-0dca39cd4682416dbce4fb88086d4a85.r2.dev/temps/temps-x86_64-apple-darwin/temps -o temps
chmod +x temps
sudo mv temps /usr/local/bin/temps

# macOS (Apple Silicon)
curl -L https://pub-0dca39cd4682416dbce4fb88086d4a85.r2.dev/temps/temps-aarch64-apple-darwin/temps -o temps
chmod +x temps
sudo mv temps /usr/local/bin/temps

# Linux (x86_64)
curl -L https://pub-0dca39cd4682416dbce4fb88086d4a85.r2.dev/temps/temps-x86_64-unknown-linux-gnu/temps -o temps
chmod +x temps
sudo mv temps /usr/local/bin/temps

# Windows (x86_64)
curl -L https://pub-0dca39cd4682416dbce4fb88086d4a85.r2.dev/temps/temps-x86_64-pc-windows-msvc/temps.exe -o temps.exe
sudo mv temps.exe /usr/local/bin/temps.exe

Verify the installation by running:

temps --version

If the command is not found, ensure /usr/local/bin is in your PATH:

echo $PATH | grep "/usr/local/bin"

If needed, add it to your path:

# For bash
echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

# For zsh
echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

Key Features

  • Self-hosted: Run on your own servers or local machine
  • Preview Environments: Automatic deployments for pull requests
  • Zero Configuration: Smart defaults for popular frameworks
  • SSL Management: Automatic SSL certificates via Let's Encrypt
  • GitHub Integration: Native GitHub App for repository access
  • Custom Domains: Support for custom domains and wildcards

Initial Setup

  1. Run the bootstrap command to configure Temps:
temps bootstrap

During the bootstrap process, you'll need to provide:

  • Domain Configuration:

    • A domain or subdomain for your deployments (e.g., *.temps.sh)
    • DNS provider details (Cloudflare recommended)
    • Cloudflare API key (if using Cloudflare)
  • Email Address:

    • For Let's Encrypt SSL certificates
    • For important system notifications
  • Access Method:

    • Public IP (if your machine is internet-accessible)
    • Tunnel (recommended for local machines)
  • GitHub Integration:

    • The bootstrap will guide you through GitHub App creation
    • You'll need to authorize the app for your repositories

Running Temps

Start the Temps server:

temps serve

By default, Temps runs on:

  • HTTP: 0.0.0.0:80
  • HTTPS: 0.0.0.0:443
  • Admin Console: 127.0.0.1:8081

Managing Projects

Create a new project:

temps project create --name=your-project-name

Deploy a project:

temps deploy --project your-project-name --local

List all projects:

temps projects list

System Service

Temps can run as a system service that starts automatically with your system.

Check service status:

# macOS
sudo launchctl list | grep com.temps.server

# Linux
sudo systemctl status temps-server

View logs:

# macOS
tail -f /tmp/temps-server.log

# Linux
sudo journalctl -u temps-server

Access Your Deployments

Once configured, your deployments will be available at:

  • Projects: https://<project-name>.temps.sh
  • Admin Console: https://app.temps.sh/admin
  • API: https://app.temps.sh/api