Deploys, environments and alerts — handled.
Connect a repo, pick where it runs, and get a staging and a live address with HTTPS, logs, metrics, rollback and alerts. On our servers, or on yours.
Trigger
git push
Promote
same image
Rollback
1 click
Three decisions. Then just push.
- Step 01
Connect your repo
Sign in with GitHub and pick a repository — or paste any git URL or Docker image. We detect the stack, port and build command for you.
- Step 02
Choose where it runs
“Host it for me” starts a container on our servers instantly. Or connect your own server with one command — your cloud keeps billing you for the machine.
- Step 03
Push, check, go live
Every push builds to staging. When it looks right, click “Go live” and the exact same build is promoted — no rebuild, no surprises.
Every app gets a staging and a live address.
Pushes land on staging first, at its own URL, so you and your team can click through a change before customers see it. Live stays exactly as it was until you decide otherwise.
- Staging at your-app-staging.apps.dployhub.com, live at your-app.apps.dployhub.com
- Separate environment variables per environment, encrypted at rest and masked in the dashboard
- Stop staging when you don’t need it — billing stops with it
- Health check path so a broken build never replaces a working one
Promote the exact build you tested.
Clicking “Go live” doesn’t rebuild from source. It takes the image that is running on staging right now and starts it as live — so what you checked is precisely what ships.
- No rebuild, so no “it worked on staging” drift
- The first deploy of a new app goes live automatically
- Optional auto go-live after every successful staging deploy
- The dashboard shows which apps have changes waiting to go live
Auto-deploy on push. Roll back in one click.
Connect GitHub once and we register the webhook for you. Every push to your branch builds on the server and deploys to staging, with the commit message and author on the deploy.
- Build logs stream live while the deploy runs
- Each deploy records who triggered it, the commit and how long it took
- The last 5 images are kept per app — rollback reuses them instantly
- Errors explain the failing step in plain language, with the log beside it
See what your app is doing.
Runtime logs pulled straight from the container, plus CPU, memory and uptime sampled for every environment — enough to answer “is it up, and is it struggling?” without SSH.
- Last 200 log lines from staging or live, on demand
- 24-hour CPU and memory charts with uptime percentage
- Deployment success rate and average build time on your dashboard
- Server health — CPU, memory, disk — for every server you connect
Your domain, with HTTPS handled.
Every environment is served over HTTPS from the first deploy. Bring your own domain by adding one CNAME record — the certificate is issued and renewed for you.
- Automatic certificates on platform and custom domains
- A different custom domain for staging and live if you want one
- The exact DNS record to add is shown in the dashboard
- No certificates to upload, renew or remember
Hear about problems before your users do.
Choose the events you care about and where they go. WhatsApp for “the app is down”, email for invoices — whatever matches how you work.
- WhatsApp, Telegram and email channels — send a test from settings
- Deploy failed, app down, server offline and back online
- Version went live, invoice issued, payment received
- Spend-limit alerts so a bill never surprises you
Your cloud. Our deploy workflow.
Already pay for AWS, Hetzner or a VPS? Connect it with one command and deploy to it exactly like our managed servers. Or connect your AWS / Hetzner account and we create the VM in your account for you.
- One-line install: a small agent runs as a system service
- Outbound-only — no open ports, no SSH keys handed to us
- Run as many apps on the server as it can hold
- Your provider bills the VM; we bill a flat platform fee per server
Managed or bring-your-own. Same workflow.
Host it for me
Your app runs as an isolated Docker container on DployHub’s servers. Nothing to set up — the first deploy starts in seconds.
- Instant — no server to create or configure
- Small, Medium or Large, billed by the hour
- Staging billed at half price
- We patch, monitor and keep the servers running
Use my own server
Connect any Linux server, or let us create a VM in your own AWS or Hetzner account. Same deploy workflow, on infrastructure you own.
- One install command — works on any Linux server with Docker support
- Your cloud bills you for the VM, as it does today
- Flat platform fee per server, on its own invoice
- Unlimited apps per server
If it builds, it deploys.
We read your repo and suggest the runtime, port and build command. A Dockerfile always wins — so anything that runs in Docker runs here.
Node.js
Express, Nest, Fastify — any start script
Next.js
Server-rendered or static export
Python
Django, FastAPI, Flask
Static sites
React, Vue, Vite, plain HTML
Any Dockerfile
If it builds with Docker, it deploys
Docker images
Deploy a prebuilt image directly
Built so we never need the keys to your server.
The agent on each server connects out to DployHub and asks for work. Nothing connects in, no SSH key is ever handed over, and each app runs isolated in its own container.
Isolated containers
Every app environment runs in its own Docker container on a private network, reachable only through the HTTPS proxy.
Encrypted secrets
Environment variables are encrypted at rest, masked in the dashboard, and only revealed when you explicitly ask to see them.
No SSH keys stored
The agent on your server connects out to us and asks for work. We never hold a key to log into your machine, and it needs no open inbound ports.
HTTPS everywhere
Certificates are issued and renewed automatically for platform and custom domains. Plain HTTP is redirected.
Scoped GitHub access
Your GitHub token is stored encrypted and used only to clone your repo and register the push webhook. Disconnect any time.
Every action logged
Deploys, go-lives, rollbacks and errors are recorded with who did what and when — and how long it took.
Platform questions.
What can I deploy?
Node.js (including Next.js), Python (Django, FastAPI, Flask), static sites, anything with a Dockerfile, or a prebuilt Docker image. We detect the stack from your repo and suggest the port and build command — you can override any of it.
What is the difference between staging and live?
They are two copies of your app at two addresses. New pushes go to staging. When you are happy, “Go live” promotes that exact build to the live address that your customers use.
Do I need to know Docker or servers?
No. If your repo has a Dockerfile we use it; if not, we build a sensible one for your stack. Choosing “Host it for me” means there is no server for you to think about at all.
How does “bring your own server” work?
Create a server in DployHub and run the one-line install command it shows you. A small agent starts as a system service, connects out to DployHub and appears as online. From then on you deploy to it like any other server.
Can I use my own domain?
Yes — on staging, live, or both. Add the CNAME record we show you and HTTPS is set up automatically.
What happens if a deploy fails?
Your currently running version keeps serving traffic. The deploy is marked failed, the log shows the step that broke, and you get an alert on the channel you chose.
Where are your servers?
Managed apps run on DployHub-operated servers. If you need your app in a specific region or provider, connect your own server there — the workflow is identical.
Can someone set this up for me?
Yes. DployHub is run by a DevOps engineer who also does done-for-you CI/CD, Kubernetes and cloud work. Talk to an engineer and we will get your first app deployed with you.
Your next deploy could be one push away.
Create an account, connect GitHub, and have a staging and a live URL in minutes.