Dumps on a schedule
A dump every 6 hours, kept for a day. Plus a daily dump, kept for 14 days.
- every 6 h
- kept 1 day
- daily
- kept 14 days
Host anything
WebsitesStatic sites and Astro, fast and simple.Web appsNode.js and Next.js, with a database.Managed WordPressPage cache and automatic updates.DatabasesPostgres and MySQL, backed up and tested.TemplatesWordPress, Astro, Next.js, Node API.How it works
Deploy from GitHubEvery push goes live, from any AI tool.The dashboardApps, databases and domains on one canvas.Staging and rollbackA test version, and one click back.Build with AIClaude, Codex, Cursor or ChatGPT. Your pick.
Examplebakkerijdevries.nlLiveBackupsrestore testedFind your domain.
Registered in your name. Renewing costs the same as registering.
Search opens the domain shop in the app, with every extension and its price.
Per year, excl. VAT. No first-year deal, no renewal jump.
Built for
Under the hood · for developers
The platform you would build yourself if you had a year: immutable builds, isolated projects, a rollout that waits until your app answers, and backups we restore for real every week. You push code. We run the cluster.

01 · the deploy pipeline
Every deploy takes the same path, every time. No hand-built servers, no half-finished rollouts. Pick a step.
Every push to your branch starts a deploy through our GitHub app. You can also deploy from the dashboard, or with the CLI from your terminal or AI tool. If a deploy gets cut off halfway, it is marked failed and the live version stays.
Railpack detects your language and framework, and BuildKit builds the image. Builds run on build servers, separate from the servers your apps run on.
The deploy points at the image digest, not at a tag that can move. That build never changes underneath you, so what you tested is what runs.
The new version has to pass a readiness check on an HTTP path or on its TCP port. Until it does, the old version keeps serving your visitors.
Once the new version is ready, traffic goes to it, and the old version gets a short grace period before it stops. A version that fails to start never goes live: the previous one stays or is put back.
Earlier images are kept. Rolling back runs one again without rebuilding, and restores the variables that version ran with.
02 · one project, layer by layer
No black box. Pick any part of a project to see what runs there and how it is set up. These are the real settings, not a sales diagram.
Every request comes in through Traefik behind a Hetzner load balancer. HTTPS is the only way in, and certificates take care of themselves.
Push to GitHub, deploy from the dashboard or run the CLI. Railpack detects your stack and BuildKit builds the image. No Dockerfile needed.
Your code runs in a hardened container with memory and CPU limits from your plan. A new version only takes over when it is ready.
Postgres or MySQL next to your app, run for you. The connection details reach your app as variables.
Uploads and other files your app writes, like WordPress media. Backed up on their own schedule.
Stored away from the servers your app runs on, in the EU. And tested for real, because a backup you never restored is a guess.
Every project gets its own Kubernetes namespace per environment, so production and staging are walled off too.
A scheduler inside the platform runs these checks around the clock. Most of the time they find nothing. That is the point.
03 · data
Making backups is the easy part. Knowing they come back is the part most setups skip. We restore one for real every week, and store them away from your app, in the EU.
CloudNativePG · Postgres 18 · WAL archived continuously (zstd) · full backup every week
A dump every 6 hours, kept for a day. Plus a daily dump, kept for 14 days.
Uploads and other app files, incremental and deduplicated. Each project has its own encrypted repository.
Storage doubles before it fills up, always within your plan. At your plan’s limit, you get a mail at 90%.
every Monday · 02:00
One Postgres database, one MariaDB database and one app’s files are restored for real, in a hidden namespace. Table and file counts are compared with the original, and the team is alerted if anything is off.
The numbers of the first test, 2 October 2026.
04 · CLI and MCP
Deploy, read logs and roll back from the command line. Or give your AI tool the same powers through MCP, so it can ship what it just wrote.
Runs with npx, nothing to install. Uploads the folder you are in.
npx cubli loginnpx cubli upnpx cubli up --stagingnpx cubli logsnpx cubli rollbacknpx cubli pullclaude mcp add cubli -- npx -y cubli mcphttps://mcp.cubli.ioPut this on staging, check the logs, and promote it if it answers.
deployget_logsrollbackcreate_databasecreate_stagingpromoteadd_domainsearch_domainsorder_domainssetup_domain_maildomain_healthadd_templatemigrate_wordpresspull_codeand more, for projects, services, variables and DNS. order_domains always asks for your yes before anything is bought.
Set variables in the dashboard. They are encrypted with AES-256-GCM, and a change restarts your app with the new values. Connect a database and its connection details are added for you.
Logs are live from the running container: the last 200 lines by default, up to 2,000. Build logs are kept for every deploy.
There is also an API at api.cubli.io with an OpenAPI contract.
# added for you
CUBLI_URL=https://bakery.cubli.app
DATABASE_URL=postgres://…
# your own
MAIL_FROM=hello@bakkerijdevries.nl05 · the honest comparison
A VPS gives you a blank server. This is everything you would build on top of it, and what Cubli already does. Tick what your VPS has today.
on a VPS, youInstall and patch the web server, PHP or Node and the database.
on CubliNo server or OS for you to manage. Railpack builds the runtime, databases run as managed services.
on a VPS, youSet up certificates, renew them, hope the renewal runs.
on CubliLet’s Encrypt certificates, requested and renewed automatically. HTTP goes to HTTPS.
on a VPS, youWrite the scripts and get the copies off the server.
on CubliFiles and MySQL every 6 hours, Postgres archived continuously. Stored away from your app, in the EU.
on a VPS, youFind out during the incident whether it works.
on CubliA real restore every week, with table and file counts compared.
on a VPS, youPick a tool, write the checks, route the alerts.
on CubliAn uptime check every minute with a mail to you, plus backup and server checks for our team.
on a VPS, youWake up, resize the volume, clean up logs.
on CubliDatabase and file storage grow automatically, within your plan.
on a VPS, youKeep sites from reaching each other yourself.
on CubliA network-isolated project per customer, hardened containers and limits per app.
on a VPS, youBuild CI, rollbacks and a staging setup.
on CubliDeploy on every push, immutable builds, one-click rollback, staging that promotes the same build.
on a VPS, youSet up WAL archiving and practise the restore.
on CubliBuilt in for every Postgres database, with a 14-day window.
Tick what your VPS already has. On Cubli, all 9 are there on day one.
We would rather you pick the right tool than the wrong plan.
Daemons, custom ports, scheduled jobs, SSH, your own Dockerfile. Cubli has no shell, no cron and no custom containers yet.
A bare server gives you more raw CPU and memory for the money. A Cubli plan gives each app its own slice.
Fair. Patching, backup scripts and 3 a.m. alerts can be fun. Then you know exactly what this page saves everyone else.
06 · why
You say what should run: an app, a database, a domain. The platform makes it so, and keeps it so. A crashed container comes back on its own.
desired stateEvery deploy runs an image pinned by its digest. What you tested on staging is exactly what goes live, and rolling back is running an earlier image.
sha256:7c1e…a94fDefault-deny networking, hardened containers and limits per app. There is nothing to switch on, because it is never off.
default denyA backup you never restored is a guess. We restore one every week and compare every table and file count.
13/13 · 543/543If Claude, Codex, Cursor or Lovable puts your code in GitHub, it deploys. With the CLI and MCP, your AI tool can deploy, read logs and roll back by itself.
git pushthe fine print, up front
Better you read it here than find out on day three.
7 days free on any plan, cancel any time. Delete it within the trial and you pay nothing. A project with an app and a database starts at €19 a month excl. VAT, or €15.83 paid yearly.