Zylo is a lightweight, distributed build-and-deployment platform inspired by modern edge-first hosting systems. It automates the process of building, deploying, and serving web applications from source code to production.
The goal of Zylo is simplicity, transparency, and control β no magic, no hidden abstractions.
- Accepts source code via Git or upload
- Runs isolated builds in sandboxed environments
- Generates production-ready artifacts
- Stores build outputs in a distributed storage layer
- Serves deployments through a routing layer
- Provides unique deployment URLs per build
- Streams real-time build logs and status updates
- Infrastructure should be understandable
- Builds should be reproducible
- Deployments should be immutable
- Logs should be accessible
- Systems should fail loudly, not silently
Zylo is composed of independent services:
- Ingest Service β receives deployment requests
- Build Service β executes builds in isolated containers
- Storage Service β persists build artifacts
- Deploy Service β manages versions and rollbacks
- Routing Layer β maps domains to deployments
- Log Stream β streams build and runtime logs
Each service communicates through APIs or events.
- Backend: Node.js + TypeScript
- Build Isolation: Docker
- Queue / Events: Kafka or Redis Streams
- Storage: Object storage (S3-compatible)
- Database: PostgreSQL
- Reverse Proxy: Nginx
- Runtime: Linux-based containers
- User triggers a deployment
- Zylo validates project configuration
- Source code is pulled into a sandbox
- Dependencies are installed
- Build command is executed
- Artifacts are generated
- Artifacts are uploaded to storage
- A deployment record is created
- Routing is updated
- Deployment goes live
- Deterministic builds
- Versioned deployments
- Rollback support
- Real-time build logs
- Preview URLs per deployment
- Stateless edge routing
- Horizontal scalability
Clone the repository:
git clone https://github.com/SunilkumarT56/zylo.git
cd zylo
npm install