Getting Started

Welcome to Caster! This guide will walk you through deploying your first site and going live.

Fastest: Deploy with git push

The quickest way to get a site live. No account setup needed — just push:

# Linux / Mac / Git Bash
cd your-project
git remote add caster git@caster.zip:$(openssl rand -hex 4).git
git push caster main
# Windows PowerShell
cd your-project
$id = -join(1..4|%{'{0:x2}'-f(Get-Random -Max 256)})
git remote add caster "git@caster.zip:$id.git"
git push caster main

The 8-character hex ID becomes your site's subdomain (e.g. a3f9c2e8.caster.zip). You choose it upfront, so your remote is already correct for future pushes.

On your first push, Caster will:

  1. Create an account using your git commit email
  2. Register your SSH key automatically
  3. Create a new site and start building

You'll see output like:

Account created for you@example.com
Site live at https://a3f9c2e8.caster.zip
Complete your account: https://caster.zip/forgot-password

To set a password and access the web console, use the "forgot password" link — it will send a reset email to your commit email address.

Subsequent pushes to the same remote will deploy updates to the same site. To create additional sites, generate a new hex ID and add a new remote.

Deploy by Pasting Code

If you prefer the web UI:

  1. Go to console.caster.zip and Register with your email
  2. Click New Site to get a unique URL
  3. Paste your HTML into the content area and click Deploy

Your site will be live at https://{your-id}.caster.zip within seconds. No Dockerfile needed — Caster automatically serves static files with nginx.

Deploy via the Paste API

Chatbots and scripts can deploy via the API. Create an API key from your Account page, then:

curl -X POST https://console.caster.zip/api/v1/sites/a3f9c2e8/paste \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "files": [
      {"name": "index.html", "content": "<h1>Hello World</h1>"},
      {"name": "style.css", "content": "body { font-family: sans-serif; }"}
    ]
  }'

Deploy by Uploading a File

Upload a zip or tar.gz of your project:

  1. Go to your site's detail page
  2. Choose your archive file and click Deploy

No Dockerfile required for static sites — Caster injects an nginx Dockerfile automatically. If your archive includes a Dockerfile, Caster will use it instead.

Upload via the API

# Zip your project
zip -r mysite.zip . -x '.git/*'

# Upload and deploy
curl -X POST https://console.caster.zip/api/v1/sites/a3f9c2e8/deploy \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@mysite.zip"

Git Push for Existing Accounts

If you already have an account and want to add git push as a deployment method:

  1. Generate an SSH key if needed: ssh-keygen -t ed25519
  2. Add it on the SSH Keys page in the console
  3. Push to a new 8-char hex ID — Caster creates the site automatically:
git remote add caster git@caster.zip:$(openssl rand -hex 4).git
git push caster main

You can also push to an existing site by its short ID (visible in the console).

View Your Site

After a successful deploy, your site will be live at https://{your-id}.caster.zip. You can check deployment status and build logs from the site detail page.

Deploy with the CLI

The caster CLI uploads a directory and deploys it in one step. Download it for your platform, then:

caster ./my-site -key YOUR_API_KEY

To deploy to an existing site, pass -site:

caster ./my-site -site a3f9c2e8 -key YOUR_API_KEY

What's Next