Skip to content

Zercel is a Vercel clone that supports Fluid Compute and automatic deployments.

Notifications You must be signed in to change notification settings

Krish120003/zercel

Repository files navigation

Zercel Banner

God's greatest Vercel clone. Made by Krish.

Zercel Project Screenshot

Checkout a blog post on the technical decisions and details!: krish.gg/blog/making-a-vercel-clone

🌟 Features

  • Automatic GitHub Deployments 1
  • Live Build Logs
  • Global CDN Caching
  • Free dynamic SSL Certificates
  • Environment Variables
  • Instant-Subdomain(s) Deployment
  • Fluid Compute (Serverless Server Functions) 2
  • [Upcoming] Instant Rollback
  • [Upcoming] Preview URLs
  • [Upcoming] Server Logs
  • [Upcoming] Server Version Skew Protection

πŸ“¦ Project Structure

zercel/
β”œβ”€β”€ apps/           # Application projects
β”‚   β”œβ”€β”€ router/     # Network router
β”‚   β”œβ”€β”€ builder/    # Build system
β”‚   └── web/        # Web interface
└── terraform/      # Infrastructure as code

πŸ—οΈ Infrastructure

The project uses Terraform for infrastructure management. Configuration can be found in the terraform/ directory.

This project uses the following services:

  • Cloudflare CDN
  • GCP Cloud Run (Webapp, Router)
  • GCP Cloud Run Jobs (Static Builds)
  • GCP Batch (Server builds by orchestrating isolated VMs)
  • Neon Postgres (Cloud SQL is too expensive)
  • Upstash Redis (Cloud Memorystore is too expensive)
  • GCP Cloud Bucket (Static site builds)
  • GCP Artifact Registry (Docker images for server builds)
  • GCP Eventarc (Webhook triggers)

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


Footnotes:

1 : Currently only supports default repository branch on public (but authorized) repositories.

2 : Google Cloud Run configured with multiple concurrent requests with autoscaling are used to create the same behaviour as Vercel Fluid Compute