Skip to main content

cubby deploy

Deploy your app to the Cubby platform. This command packages your source code, uploads it, builds a Docker image, and starts your container.

Usage

Arguments

Flags

Examples

What Happens During Deploy

  1. Authentication check - Verifies you’re logged in
  2. Dev container detection - Prompts to stop local dev containers if running
  3. Framework detection - Auto-detects Next.js, Vite, Remix, or Node.js
  4. Dockerfile generation - Creates optimized Dockerfile if not present
  5. Packaging - Creates tarball of source code (respects .gitignore)
  6. Upload - Sends tarball to Cubby servers
  7. Build - Docker image built on remote server
  8. Database provisioning - Provisions the database (SQLite volume by default; Neon Postgres on Builder/Pro)
  9. Migration - Runs prisma db push automatically
  10. Container start - Launches your app with injected secrets
  11. Health check - Verifies app responds on configured port

App Name Rules

App names are used in URLs (<app>--<username>.cubby.pro) and must follow DNS-safe naming rules:
  • 3-30 characters
  • Lowercase letters, numbers, and hyphens only
  • Must start and end with a letter or number
  • No consecutive hyphens
Invalid names are automatically normalized (spaces and special characters become hyphens).

Redeploying

When deploying an app that already exists:
Use --yes to skip this confirmation:

Deploy Output

A successful deploy shows:

Troubleshooting

”Could not detect framework”

Cubby auto-detects common frameworks. If detection fails:
  • Ensure package.json exists with correct dependencies
  • Or provide your own Dockerfile in the project root

”Build failed”

Run cubby check first to validate your project locally:
This runs the same validations as the deploy process.

”Not logged in”

Authenticate first:

Verbose Build Logs

If deployment fails, use --verbose to see detailed build output: