Deployments
Upload a ZIP or connect a GitHub repository. Static sites, Node.js, Python and PHP are detected automatically, a Dockerfile is used if you include one, and every deployment keeps its logs.
- Sourceacme/bakery-site · maincommit 3f2a91c
- DetectedVite + Reactnpm ci · npm run build
- BuildBuild succeededisolated container
- CheckHealth check passedthrough the proxy
- Livebakery.exampleprevious version replaced
Two ways to bring your code.
Whichever you choose, the build and everything after it is the same.
- GitHub
Connect a repository
Connect your GitHub account, pick a repository (public or private) and a branch. Each deploy builds the latest commit of that branch, and the commit is recorded with the deployment.
GitHub guide - ZIP
Upload a ZIP
No Git needed. Download your project as a ZIP from the tool you built it with and upload it, up to 50 MB. Leave out node_modules and build folders.
ZIP guide
What happens when you press Deploy.
Every deployment goes through the same five steps. A broken build never replaces a working site.
- Fetch01
Get the code
From your GitHub branch, or the ZIP you uploaded.
- Detect02
Work out the stack
We read your project's files to decide how to install, build and start it. A Dockerfile at the root wins.
- Build03
Build in isolation
In a fresh container, capped at 2 GB of memory and 10 minutes. A build that runs out of either fails with a plain explanation.
- Health check04
Make sure it answers
The new version is started and requested through the proxy, just as a visitor would reach it.
- Switch05
Replace the live version
Only then does traffic move to the new version. If any step fails, the previous version stays online.
Detected automatically.
There's no config file to write. These are the stacks we test end to end; Supported frameworks shows how each is detected.
- Static
- Plain HTML, CSS and JavaScript, served as they are. Detected by index.html.
- Front end
- React, Vue, Svelte and Angular built with npm, pnpm, yarn or bun, then served as static files.
- Full stack
- Next.js, Nuxt, SvelteKit and any Node.js app with a start script, listening on the PORT we set.
- Python
- FastAPI, Django and Flask, from requirements.txt, pyproject.toml or a Pipfile.
- PHP
- Classic PHP sites and Laravel on PHP 8.4 behind nginx.
- Ruby
- Ruby on Rails on the Ruby release your Gemfile names, served by Puma.
- Dockerfile
- Anything else: your own Dockerfile at the root, built and run as one container.
Automatic, but never a black box.
You can see and change what we do, and find out quickly when something goes wrong.
- Settings
Build settings
See what we detected before anything goes live. Replace the install command, build command, start command or output directory if yours differ.
- Config
Environment variables
Add API keys and settings per website. They're stored encrypted and passed to your site when it starts. Once saved, a value can be replaced but not read back.
- Logs
A log for every deployment
Each deployment has a step-by-step log in the dashboard. Values of your environment variables are removed from what we show.
- Email
Told when a deploy fails
If a deployment fails, we email you what went wrong, and your previous version keeps running.
Troubleshooting
How deployments behave.
- Deploys from GitHub are one click, not automatic on every push. Press Deploy when you're ready.
- There's no one-click rollback. To go back, revert the change in Git (or upload the earlier ZIP) and deploy again.
- Each deploy starts from your code: files written inside a running site are gone after the next deploy.
- One container per website. Docker Compose projects aren't supported.
- Past your plan's storage or bandwidth by more than 20%, new deploys pause until you upgrade or add a pack. Your site stays online either way; see Hosting.
- PlatformHow the pieces fit together.
- HostingContainers, HTTPS, monitoring, backups.
- DomainsA free address, plus your own domains.
- Compute nodesThe servers your sites run on.
- Readiness checkA free check before you deploy.
- PricingPlans in euros, monthly to yearly.
Not sure what you need? Email support@prohostiva.com and a person will answer. We can deploy your site and connect your domain for you, free of charge.