Hostiffy is a full-stack platform that simplifies front-end web app deployment. It allows users to manage, deploy, and monitor their projects seamlessly with real-time feedback.
- Multi-framework Support: Deploy apps built with Angular, Astro, Remix, Create React App, Nuxt, Svelte, Vite, Vue, and more.
- Real-time Logs: Get real-time feedback on deployment processes.
- GitHub Integration: Select repositories directly from GitHub.
- User-Friendly Dashboard: Manage projects with features like search, create, configure, view logs, and project details.
- Secure and Scalable: AWS infrastructure with Docker, Nginx, and ECS for scalable deployments.
- Framework: Next.js
- Authentication: Clerk.js
- Styling: Tailwind CSS, shadcn UI
- Real-time Logs: Fetch logs via Kafka and display them in real-time.
- Runtime: Node.js
- Database: PostgreSQL for storing user, project, and deployment data.
- Logs Database: ClickHouseDB for storing and fetching real-time deployment logs.
- Messaging: Apache Kafka for processing logs.
- Containerization: Docker for running deployment processes.
- Cloud Provider: AWS
- AWS ECS for running deployment services
- AWS S3 for hosting built files
- Nginx for routing subdomains
-
Create a New Project:
- Select a GitHub repository and configure the project (framework support for Angular, Astro, etc.).
-
Deploy the Project:
- On clicking deploy, a Docker container spins up on AWS ECS.
- The app’s code is cloned, dependencies are installed, and the build is created.
- Built files are stored in an AWS S3 bucket under the user's subdomain.
-
Real-time Logs:
- Logs from the build process are sent to Kafka and stored in ClickHouseDB.
- These logs are fetched and displayed on the frontend in real time.
-
Post Deployment:
- Upon successful deployment, the user is redirected to the projects page.
- A deployed link (e.g.,
https://subdomain.app.hostiffy.xyz
) is shown, which Nginx routes to the appropriate S3 folder.
- Node.js
- Docker
- PostgreSQL and ClickHouseDB locally or in the cloud.
- AWS account with ECS and S3 setup.
-
Clone the repository:
git clone https://github.com/username/hostiffy.git cd hostiffy
-
Install Dependencies:
npm install
-
Configure Environment Variables:
- Create a
.env
file with necessary variables for PostgreSQL, ClickHouse, AWS, Clerk.js, etc.
- Create a
-
Run the App:
Deployment is managed via Docker containers on AWS ECS.
We welcome contributions! Please open an issue or submit a pull request for any changes or improvements.
This project is licensed under the MIT License.
This README provides a complete overview of your project with clear sections for setup, workflow, and technologies. You can adapt or expand it as needed!