Docs/Introduction

What is VersionGate?

VersionGate is a self-hosted deployment platform that bridges the gap between your source code and production-ready traffic. It automates the lifecycle of your applications using a robust blue-green deployment pipeline — on your own server.

01

Git Integration

Connect the GitHub App or a webhook — builds trigger the moment you push to your repository's configured branch.

02

Docker Build

Applications are containerized from the repo's Dockerfile with a versioned image tag for every deploy.

03

Blue/Green Slots

Deploys target the idle slot while the live environment remains untouched until health checks pass.

The Environment Chain

Projects can define multiple environments — each with its own branch, port range, and deployment history. Builds are promoted downstream without rebuilding, so the exact image verified in staging is what reaches production.

Development
Staging
Production

Sample Setup

To get started with VersionGate, ensure your repository contains a standard Dockerfile. The engine will detect and build it automatically on every deploy.

Dockerfile
# Base image
FROM node:18-alpine

# Set working directory
WORKDIR /app

# Install dependencies
COPY package*.json ./
RUN npm install

# Copy source
COPY . .

# Build and start
RUN npm run build
EXPOSE 3000
CMD ["npm", "start"]
Traffic Switch & Health Checks
Before VersionGate promotes a build to the active slot, it performs mandatory health checks against the container's healthPath (default /health). Only when the endpoint returns 200 OK within the latency threshold does Nginx switch traffic from the old slot to the new one.