https://github.com/mohit-nagaraj/solace
A cloud platform for deploying and hosting websites with API integration, build automation, and reverse proxy setup.
https://github.com/mohit-nagaraj/solace
aws-sdk docker golang nodejs s3-bucket
Last synced: 11 months ago
JSON representation
A cloud platform for deploying and hosting websites with API integration, build automation, and reverse proxy setup.
- Host: GitHub
- URL: https://github.com/mohit-nagaraj/solace
- Owner: mohit-nagaraj
- License: gpl-3.0
- Created: 2024-11-20T12:25:12.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-12-26T07:58:59.000Z (over 1 year ago)
- Last Synced: 2025-03-31T14:52:21.817Z (over 1 year ago)
- Topics: aws-sdk, docker, golang, nodejs, s3-bucket
- Language: Go
- Homepage:
- Size: 17.1 MB
- Stars: 16
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Solace
A simple & easy-to-use cloud platform for deploying and hosting websites with API integration, build automation, and reverse proxy setup.
## Project Structure
This project contains the following services and folders:
- `api-server`: HTTP API Server for REST APIs
- `build-server`: Docker Image code which clones, builds, and pushes the build to S3
- `s3-reverse-proxy`: Reverse Proxy for subdomains and domains to S3 bucket static assets
## Local Setup
1. Run `npm install` in all three services: `api-server`, `build-server`, and `s3-reverse-proxy`.
2. Docker build the `build-server` and push the image to AWS ECR.
3. Setup the `api-server` by providing all the required configurations such as TASK ARN and CLUSTER ARN.
4. Run `node index.js` in `api-server` and `s3-reverse-proxy`.
### Running Services
The following services should be up and running:
| S.No | Service | PORT |
| ---- | ------------------ | ------- |
| 1 | `api-server` | `:9000` |
| 2 | `socket.io-server` | `:9002` |
| 3 | `s3-reverse-proxy` | `:8000` |
## Architecture

### Basic Frontend
The frontend of the project is built using Next.js
To get started with the frontend:
1. Run the development server:
```bash
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
```
2. Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
3. You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file.
### Why I Built This Project
The project was built to replicate the functionality of Vercel, providing an easy-to-use user interface for deploying and managing web applications. The focus was on creating an intuitive and user-friendly experience that simplifies the complexities of deployment and hosting, making it accessible for developers of all skill levels.
### Conclusion
The Solace project showcases a robust and scalable architecture, integrating multiple services to deliver a seamless deployment experience. By leveraging technologies like Next.js, Docker, and AWS, the project demonstrates best practices in modern web development and deployment. The easy-to-use UI and the comprehensive setup guide make it a valuable resource for developers looking to understand and implement similar solutions.