Rooster is an application that allows users to deploy React applications effortlessly with a single click. It is designed for quick production testing and in-house testing, providing a seamless experience for developers who want to see their projects live without the hassle of manual deployments.
Rooster.mp4
Rooster solves the problem of manual and time-consuming deployments for React applications. By automating the deployment process, it allows developers to focus more on building their applications and less on the infrastructure setup. It provides a quick and easy way to deploy applications, making it ideal for rapid testing and continuous integration workflows.
- Docker
- Node.js
- Kubernetes (Minikube or any other Kubernetes cluster)
-
Clone the Repository
git clone https://github.com/<username>/Rooster.git cd rooster
-
Build the Docker Image
sudo docker build -t your-dockerhub-username/your-image:tag . -
Get your Redis Credentials
You can get your Redis credentials from the RedisLabs website.
change the
.envfile inapi-serverfolder with your Redis credentials. -
AWS_ACCESS_KEY_ID= AWS_SECRET_ACCESS_KEY= CLUSTER= TASK= REDIS_URI= REDIS_PASSWORD=
-
AWS_ACCESS_KEY_ID= AWS_SECRET_ACCESS_KEY= GIT_REPOSITORY_URL=
-
Create Kubernetes Secrets
Create a file named
credentialswith the following content:[default] aws_access_key_id=YOUR_AWS_ACCESS_KEY_ID aws_secret_access_key=YOUR_AWS_SECRET_ACCESS_KEY
-
Then create a Kubernetes Secret:
kubectl create secret generic aws-credentials --from-file=credentials
-
Deploy to Kubernetes
Apply the Kubernetes manifests:
kubectl apply -f deployment.yaml kubectl apply -f service.yaml
-
Run the Application Locally
npm install npm run dev
The application will be available at
http://localhost:3000.
- Open the application in your browser.
- Enter the GitHub URL of your React project.
- Click on the "Deploy" button.
- Monitor the logs for deployment progress.
- Once the deployment is complete, the preview URL will be displayed on the screen.
- Next.js
- Kubernetes
- Docker
- AWS (ECS, ECR, S3)
- Node.js
- Redis
This project is licensed under the MIT License. See the LICENSE file for details.