describe it. ship it. run it.
From a prompt
to a running app.
Nubo builds it, ships it, and runs it, then shows you everything in one live dashboard, on our cloud or your own servers.
free for 7 days · no card · sign in with github
what people ship on nubo
Whatever you're building, we'll host it.
Web apps, databases, workers, and apps you built in Studio all live in the same dashboard, with the same deploy flow for each.
-
web apps & APIs
Web apps & APIs
Next.js, Django, Rails, or a plain Node server. Push a repo and it serves real traffic on a real URL.
-
ai-built apps
Apps built in Studio
Describe it in Nubo Studio, watch it build, then ship it here without copying anything between tabs.
-
databases
Databases
Postgres, MySQL, Mongo, or Redis as a first-class Frame, with a connection string and persistent storage.
-
bots & workers
Bots & workers
Discord bots, Slack apps, queue consumers, scheduled jobs. Long-running, no URL required.
-
static sites
Static sites
Marketing pages, blogs, docs, portfolios. Built from your repo, no server to keep alive.
-
your weird thing
Your weird thing
Internal dashboards, ops panels, the side project nobody asked for. If it runs in a container, it runs here.
nubo studio · ai app builder
Talk to it,
get an app.
Describe what you want in chat and an AI agent crew builds it. A PM, a designer, and a developer plan it, write it, and show you a live preview as it goes. When it's ready, deploy in one click.
- A PM, designer, and developer AI agent work in parallel, in the open.
- Multi-frame projects (a web app plus a database) get wired together for you.
- Bring your own AI model, or use the default. Watch the code as it lands.
~/barber-shop your app will appear here as the developer writes it
deploy from github
Push, and it is live.
Connect a repo and every push builds and deploys. No DevOps engineer, no vocabulary to learn before your first deploy.
- 01 connect
Point at a repo.
Sign in with GitHub, install the Nubo app, pick the repo. Setup takes under a minute.
- 02 choose where
Our cloud or your server.
Default to Nubo Cloud, or connect a box you already own with one command and deploy there instead.
- 03 push
git push, like always.
Every push to your default branch builds and deploys. No CI config, no Kubernetes manifests, no YAML.
- 04 live
Share the link.
You get a URL with TLS already done. Want yourdomain.com? Add it in the dashboard and we handle the rest.
push on the left. nubo reacts on the right.
- webhook accepted
- image build started
- image pushed
- rolled out · 200 OK
previews & ci/cd
Every pull request gets its own deploy.
Review the running thing, not a diff. Previews spin up on push and tear down when the PR closes.
-
pull requests
A preview URL per PR
Open a pull request and Nubo builds it to its own URL on *.nubo.onl. Every branch gets a real environment you can click before you merge.
-
status checks
Checks and a PR comment
Build status reports back as a GitHub check, and Nubo writes a comment on the PR with the preview link and the result. No tab-switching to find out if it shipped.
-
control
Skip, ignore, or hold
Put [skip ci] in a commit to skip the build. Ignore paths that do not affect the app. Flip auto-deploy off when you want to push without going live.
Projects, Spaces, Frames
The same three-layer model as the dashboard.
01 Project
The thing you're building. Holds your landing page, API, workers, and database in one place.
02 Space
An environment inside a Project. Most have a dev, staging, and production.
03 Frame
One deployable thing inside a Space. Arrange them on a grid so you see everything at once.
a Frame can be
-
web app
App or API
An HTTP service that gets a URL and routes traffic.
-
static site
Static site
Built from your repo and served as static files. No server to keep alive.
-
worker
Worker
A bot or job with no public URL. We keep it running.
-
database
Database
Managed Postgres, MySQL, Mongo, or Redis.
click a Space · statuses update live
inside one Frame
What we actually run.
A web app Frame moves through four layers. You don't have to think about them, but when something surprises you, the dashboard tells you which one is misbehaving.
01 source
Your repo, your branch.
GitHub, the branch you pick, the commit you push.
02 build
Code becomes an image.
Nubo detects your stack and builds an image. Dependencies cached between builds.
03 runtime
A container that stays healthy.
Restarts on crash and scales to the replicas you set. Real env vars and secrets, injected at runtime.
04 network
URL, routing, and TLS.
A default subdomain or your own domain. SSL renewed automatically.
Connection
DATABASE_URL
postgres://barber:••••••••@barber-db.internal:5432/barber_db
Use in an app frame
databases & volumes
Add a database.
Nubo wires it in.
Create a managed Postgres, MySQL, MongoDB, or Redis. The Connect panel gives you a connection string, and once you link it to an app, Nubo injects DATABASE_URL on your next deploy.
- A database is just another Frame, so it starts, stops, and deploys alongside your apps.
- Need storage that survives a redeploy? Attach a volume up to 1 TB and your data persists.
metrics & logs
See what your app is actually doing.
Per-project numbers, live logs, deploy history, and one-click rollback. The whole set lives in one console, next to the deploys that produced them.
metrics
The numbers worth tracking.
Requests, error rate, and p95 latency, plus CPU, memory, egress, and deploy success. A per-frame breakdown underneath, so you can tell which Frame is doing the work and which one is leaking.
Requests / min
1,140
p95 latency
40ms
Error rate
0.3%
CPU avg
17%
- GET /api/posts 1,240
- GET / 880
- POST /api/auth/login 410
- GET /api/me 360
live logs
Tail it in real time.
Runtime logs stream into the same dashboard you deploy from, line by line as your app prints them. Open the tab and the last few minutes are already there, then it tails live. Logs are kept across deploys, so yesterday's bug is still readable today.
one-click rollback
Shipped a bug?
Undo it.
Browse the full deploy history for any Frame. When a release goes sideways, click "Roll back" on the last good one. Traffic returns to it in seconds. No git surgery required.
- v1.4.2 commit c0ffeebee · mainfailed
- v1.4.1 commit 4b2a91e · main
- v1.4.0 commit ae31fa2 · main
- v1.3.9 commit 9f8de31 · main
custom domains
Your domain. HTTPS handled.
Connect your domain in the dashboard, paste the hostname, hit save. We issue the TLS cert, keep it renewed, and route traffic. The whole thing takes a minute.
Hostname
- Domain connected
- TLS certificate issued
- Routing live traffic
teams
Bring the rest
of your team.
Invite people by email and set per-project roles: viewer, member, or admin. The owner keeps billing, so nobody gets a surprise.
- Grant access per project. Pull it the second you need to.
- Unaccepted invites expire on their own after 7 days.
- GO Owner
- MR Admin
Maya Reyes
- DK Member
Dan Ko
- PL Viewer
Priya L.
Pending invitation
self-host with agents
Your hardware,
same dashboard.
Drop one binary on a Linux or macOS box and deploy Frames straight to your own servers. Point your wildcard domain at it and get TLS through ACME. Cloud Frames and self-hosted Frames live in the same console.
- 01 Add an agent in settings and copy the token.
- 02
Run the one-line installer on your box.
$ curl -fsSL https://dl.withnubo.com/nubo-agent/install.sh | bash - 03 Pick the agent as the deploy target on any Frame.
- 04 Point your wildcard domain at it. TLS is handled through ACME.
agent live link · websocket
*.frames.example.com → your server

- · agent connected
- · task dispatched
- · logs streaming back
- · rolled out
nubo-agent
- · docker + caddy ready
- · pulling git repo
- · building image
- · serving traffic
from your terminal
The terminal tool.
CLI and TUI.
Install with one curl ... | bash.
Browse projects, frames, databases, volumes, and agents from your shell.
Add --json to pipe it into scripts,
or open the full-screen TUI to tail live logs.
$ curl -fsSL https://dl.withnubo.com/nubo-cli/install.sh | bash and the rest
-
Encrypted secrets
API keys and credentials live in one place, encrypted at rest, injected at runtime.
-
Persistent volumes
Attach storage up to 1TB that survives every deploy, rollback, and restart.
-
Automatic TLS
Every URL is HTTPS. Certificates issue and renew themselves.
-
Custom domains
Point your own domain at a Frame and we handle the certificate.
-
Environment variables
Set per-Frame env vars in the dashboard. Change one, redeploy in seconds.
-
Regions
Pick where a Frame runs so it sits closer to the people hitting it.
-
$9 to start
$9 of monthly usage credit covers most side projects. No card for the 7-day trial.
pricing
Seven days free.
Then $9 a month.
Every month includes $9 of usage credit, enough to cover most side projects and prototypes end-to-end. Above that, you only pay metered rates for the vCPU, memory, and egress your Frames actually use.
nubo basic
Free for 7 days. No card to start.
- 7-day free trial, no card to start
- $9 of usage credit included every month
- Push-to-deploy from GitHub
- Custom domains + TLS, real-time logs
- Rollback, metrics, auto-scaling replicas
- First self-host agent free
stop reading
Go deploy something.
Free for 7 days, no card, no sales call. We will not pretend this page wasn't built to make you want to ship on a Sunday. It was.