Deploying Apps

There are three ways to deploy to Caster: paste code, upload a file, or git push. This page explains how deployments work, how to view build logs, and how to roll back.

How Deployments Work

Every deployment follows the same pipeline:

  1. Receive — Caster receives your files (paste, upload, or git push)
  2. Build — A Docker image is built (nginx for static sites, or your custom Dockerfile)
  3. Deploy — The new container replaces the previous one
  4. Route — HTTPS traffic is routed to your container automatically

The entire process typically takes under a minute.

Deployment Methods

Paste Deploy

Paste HTML or other files directly in the browser or via the API. Best for quick deploys and chatbot-generated sites.

File Upload

Upload a .zip, .tar.gz, or .tar archive. Good for projects with multiple files.

Git Push

Push to main to trigger a deployment. Requires an SSH key. Best for ongoing development.

Static Sites

If your project doesn't include a Dockerfile, Caster automatically serves it as a static site using nginx. Your files are copied into /usr/share/nginx/html and served on port 80.

If you include a Dockerfile, Caster uses it instead — this lets you deploy dynamic apps in any language.

Viewing Deployment History

From the site detail page, you can see all deployments with their status, commit/content hash, and timestamp. Click Logs on any deployment to view the build output.

Build Logs

Build logs show the full output from the Docker build. If a deployment fails, the build log will contain the error. Common issues:

  • Build errors in your Dockerfile
  • The container not listening on the port declared by EXPOSE (defaults to 80)
  • Missing dependencies

Rolling Back

If a deployment causes issues, you can roll back to the previous version:

  1. Go to the site detail page
  2. Click Rollback in the deployment history section
  3. The previous container image is redeployed immediately — no rebuild needed

Rollbacks are instant because they reuse the previously built container image.

You can also roll back via the CLI or API.