An open API service indexing awesome lists of open source software.

https://github.com/ashmit-kumar/auto-ship

Automated deployment platform that builds, hosts, and serves GitHub projects with instant live URLs.
https://github.com/ashmit-kumar/auto-ship

docker docker-compose golang hosting hosting-aws nginx nginx-configuration nginx-proxy

Last synced: about 2 months ago
JSON representation

Automated deployment platform that builds, hosts, and serves GitHub projects with instant live URLs.

Awesome Lists containing this project

README

          

# ๐Ÿš€ Auto-Ship
This project aims to build a hosting platform similar to Vercel or Netlify. It allows users to deploy their GitHub repositories and host them with a unique live link.

## ๐Ÿง  **Basic Workflow**

### 1. User Input
- Users submit their GitHub repository URL through a form.
- The system validates the URL to ensure it points to a valid GitHub repository.

### 2. Clone Repository
- The backend clones the repository using Go.
- Cloned repositories are stored in temporary directories with unique identifiers.

### 3. Build & Host
- The system detects the project type (e.g., HTML, Node.js, React).
- It installs dependencies, builds the project if required, and serves it using a static file server or runtime environment.

### 4. Assign URL
- Each project is assigned a unique URL (e.g., `username.yourdomain.com` or `yourdomain.com/project/12345`).
- Reverse proxy settings are updated to map the URL to the hosted project.

### 5. Show Live Link
- Users receive a live link to their hosted project, which they can copy or share.

## ๐Ÿ”ง **Tech Stack**

### Frontend
- **Framework**: Next.js
- **Styling**: Tailwind CSS
- **Features**: URL submission, progress tracking, live link display, and user authentication.

### Backend
- **Language**: Go
- **Framework**: Gin or Echo
- **Features**: Repository cloning, building, and serving.

### Deployment
- **Containerization**: Docker
- **Reverse Proxy**: NGINX
- **Database**: PostgreSQL for URL management.

## ๐Ÿ›ก๏ธ **Security and Maintenance**

- **Input Sanitization**: Prevent injection attacks.
- **Rate Limiting**: Avoid abuse and monitor GitHub API usage.
- **Cleanup**: Automatically remove old repositories and builds.
- **Build Logs**: Provide real-time logs for transparency and debugging.

## ๐Ÿงช **MVP Goals**

1. Allow users to input a GitHub repository URL.
2. Clone the repository and build the project.
3. Serve the project and provide a live link.

---

This README outlines the project's goals and tasks. Contributions and feedback are welcome.