Skip to main content
This is the fastest path from a fresh Nubo account to a running app served over HTTPS.

Before you start

You’ll need:
  • A Nubo account
  • The Nubo GitHub App installed on the repo you want to deploy
  • An app that listens on a port (Go, Node, Python, PHP, or a static index.html)
No CLI to install. No Dockerfile to write.

1. Create a Project

A Project is the top-level container. Open the dashboard and create one.
New to the Project / Space / Frame model? Read Concepts and terminology. The short version: a Project holds one or more Spaces (dev, staging, production), and each Space holds Frames (the running apps).

2. Create a Frame

Inside your Project, click + Frame:
  1. Pick the GitHub repo to deploy.
  2. Pick the branch Nubo should watch. Pushes here trigger redeploys.
  3. Set the port your app listens on.
  4. Leave Builder on the default (Raypacks Beta) for Go, Node, and static sites. Switch to Paketo for Python or PHP.
Hit deploy. The build starts immediately. Watch it in the Logs tab.

3. Open your app

When the build finishes, your Frame is live at an auto-assigned URL (something like my-app-a3f2.nubo.onl). Click it from the dashboard. To redeploy, push to your tracked branch. Or hit Deploy in the dashboard to rebuild the current revision.

Pick the right deploy guide

The general flow above works for everything, but language-specific guides cover the gotchas:

Go

A static binary on a scratch image

Node.js

Any package.json-driven app or bot

Python

Flask, Django, Gunicorn, Uvicorn

PHP

Drop-in PHP, Composer auto-installed

Static sites

HTML, CSS, JS served on nginx

More languages

What’s supported and what’s coming

Next steps

Environment variables

Inject config and secrets

Custom domains

Serve under your own hostname

Deployments

Build, deploy, roll back

Raypacks reference

Configure the default builder