Your whole dev loop, in one private cloud.
Workspaces with AI agents, one-click deploys, hosting and GPUs, built to work together.
Applications / your-app
your-app Environment production ▾
Deploy · 2 commits behind yes, Deployno running… doneA cloud workspace, your repository already in it
Pick a GitHub repository, private ones too, and start coding in your browser or in VS Code. Describe your app in four lines and Oerba runs it.
Workspaces
New workspace
Write code in the browser or in VS Code.
Name
- your-app
- src
- Dockerfile
- compose.yaml
- lab.conf
- README.md
1# What the platform needs to know, as data.
2COMPOSE=compose.yaml
3HEALTH=http://127.0.0.1:8801/healthz
4TIER=small # small, medium, large or gpu
5BACKUP=data # copied every night
- Ready to push
Your repository, cloned and ready to push. No keys to copy.
- Four lines of config
How it runs, where it answers, how big it gets and what to back up.
- Production waits for you
A push never touches production. You deploy when you're ready.
Claude Code, OpenCode, already in your workspace
Both come installed. Claude Code uses your own Claude account; OpenCode runs on open models on our GPUs.
- One command
agent claudeoragent opencode, in any terminal. - Keeps working when you leave
Close the tab and it carries on. Pause auto-stop to leave it working overnight.
- Knows how to ship
A deploy guide built in, and
lab detectdrafts yourlab.conf. - Open models on our GPUs
OpenCode can use the models running on our RTX 5090s.
Deploys that look before they leap
Every deploy shows what it will ship and asks first. If your app doesn't come back healthy, the last version returns.
- See it first
Preview exactly what a deploy will change.
- Tested before it ships
Every commit is tested, private repositories too. One that fails can't be deployed.
- Automatic rollback
If the new version doesn't answer, the old one comes straight back.
- Environments from a branch
A full copy of your app, with its own address and data, that follows its branch once tests pass.
- Every part, one click
Deploy all ships the database, workers and web in order.
your-app · web
ClosePushing never deploys production; Deploy does.
main is 2 commits ahead of production.Production is main.
- Add sharing links tests passeda1c4e09 · you · on main, not deployed
- Fix the week view tests passed5b72f3d · you · on main, not deployed
- Start the week on Monday tests passed8e41d07 · you
Deployed a1c4e09, 2 commits
An address of its own. A copy every night.
Your app gets its own address on the private network. Its data is backed up every night and test-restored every week.
- all dayYour app's datawhatever BACKUP names
- 03:30Tonight's copychecked against the original
- 05:00A second driveencrypted
- 06:00Off siteencrypted
- SundaysOpened againread back, databases and all
- Its own address
/apps/your-app/, live for everyone invited, the moment it's deployed. - Backed up nightly
Copied at 03:30 and checked against the original.
- Restores that work
Every Sunday the backups are restored, databases and all.
A GPU on call. The CPU as a fallback.
Send heavy work to an NVIDIA RTX 5090. When the GPU is busy, it runs on the CPU instead.
- Your code, as a worker
Your app sends its heavy jobs to a worker of its own.
- Falls back by itself
GPU busy? The job finishes on the CPU.
- One line to ask for it
TIER=gpuin your manifest.
Turns a recording into sheet music.
- InA recordinguploaded on its page
- The heavy stagesOn the GPU workeror on the CPU, when the card is busyRTX 5090
- OutSheet musicback on its page
Invited people only. Every app walled off.
Only invited people can reach your apps, so there's no login page to attack. Each app is walled off from the rest.
- No login page
The private network is the login. Strangers only ever see this page.
- Walled off
Its own CPU and memory limits, and the internet but nothing else.
- Only what's yours
You see your apps and your team's, and nobody else's.
Who can reach it
People invited to the private network
Strangers, who get this page
What it can reach
The internet
The rest of the network
Anybody else's apps
Bring your team. Work side by side.
Bring your GitHub organization. Everyone gets their own workspace, every branch gets its own environment, and you can see who's working on what.
Applications / Organizations / acme
acme
2 members3 members · its repositories are github.com/acme's
Members
ana@githubadmin· you
sam@githubmember
lee@githubmember
Their GitHub login, as someone@github.Adds lee@github to acme as a member.
Applications
acme-shop/apps/acme-shop/
acme-blog/apps/acme-blog/
Deploy from one of its workspaces →
Who's working on what
You· acme-shop · on ana-cart/apps/acme-shop-ana-cart/
sam· acme-api · on sam-rates/apps/acme-api-sam-rates/
- From your GitHub organization
Install Oerba on it, then add members from GitHub.
- A workspace each
Everyone codes in their own workspace. Share one to pair.
- A branch, an environment
Every branch gets its own live copy, put away once merged.
Four sizes. One line to change.
Pick how much of the machine your app can use. Change it any time.
-
Small
0.5 CPU 512 MB RAM
A static site or a small API.
By invitation
-
Medium
2 CPU 2 GB RAM
Most web apps, or a JVM, with a database beside it.
By invitation
-
Large
4 CPU 6 GB RAM
Heavy requests, large files.
By invitation
-
GPU RTX 5090
4 CPU 6 GB RAM
Large, plus a worker on the GPU for the heavy work.
By invitation
Want in?
Oerba is invite-only. Tell us your GitHub account and what you want to build.
Already invited? Switch Tailscale on and open the address in your invitation.