A robust deployment platform that enables automated deployments directly from GitHub repositories. This platform supports multiple frameworks (React, Vue, Angular) with features like continuous integration, custom subdomains, and comprehensive deployment monitoring.
DeployNinja.mp4
- GitHub Authentication Integration
- Direct GitHub Repository Deployment
- Continuous Integration with Automatic Redeployment
- Custom Subdomain Configuration
- Multi-Framework Support (React, Vue, Angular)
- Project Management Dashboard
- Detailed Deployment Logs and History
- Real-time Build Log Streaming
- Frontend & API: Next.js
- Database:
- PostgreSQL (NeonDB) - Primary database
- ClickHouse - Build Logs storage
- State Management: Redux Toolkit
- Cloud Services:
- AWS S3 - Artifact storage
- AWS ECR/ECS - Container management
- Message Broker: Apache Kafka - Build log pipeline
- Additional Services: Node.js reverse proxy for subdomain handling
The project consists of three main components:
- Deployment App (Next.js)
- Build Server
- S3 Reverse Proxy
git clone https://github.com/shubho0908/Deployment-app
cd deployment-app
cd build-server
# Build Docker image
docker build -t build-server .
# Push to AWS ECR
aws ecr get-login-password --region [region] | docker login --username AWS --password-stdin [aws-account-id].dkr.ecr.[region].amazonaws.com
docker tag build-server:latest [aws-account-id].dkr.ecr.[region].amazonaws.com/build-server:latest
docker push [aws-account-id].dkr.ecr.[region].amazonaws.com/build-server:latest
cd ../deployment-app
npm install
# For development
npm run dev
# For production
npm run build
npm start
cd ../s3-reverse-proxy
npm install
node server.js
Set up port forwarding using either:
- VSCode's Port Tunneling
- ngrok
Update the WEBHOOK_BASE_URL
in your environment variables with the forwarding URL.
Each directory contains its own .env.example
file. Copy the respective .env.example
to .env
in each directory and update the values according to your setup.