Building a Git based hosting platform like Vercel
An attempt at building a Git based hosting platform
All code lives at https://github.com/luigimorel/opendeploy
If you are a developer, you’ve probably deployed a website by just performing a git push. It just works with no
fuss.
I want to understand the complexity involved and the problems that one would have to solve to get such a platform up and running. The goal is not to end up with a production ready set of features, but rather a good enough demo whose concepts can actually be relied upon to build something substantial.
Here’s a little “Product Requirements Document” (PRD) that I will be following:
- Connect a Git repository and configure deployment settings.
- Trigger deployments automatically on every push to a configured branch.
- Build projects in isolated environments with support for common frameworks.
- Store and serve build artifacts over HTTP.
- Assign each project a public URL with support for custom domains.
- Track deployment status and expose build logs for debugging.
- Support deployment history, including the ability to roll back to a previous successful deployment.
- Handle build failures, concurrent deployments, and resource cleanup reliably.
- Manage environment variables and secrets securely during builds and runtime.
- Route incoming requests to the correct deployment and support HTTPS.