Skip to content

A lightweight Vercel alternative for deploying frontend projects from Git repositories. Built with Next.js, Bun, and Hono, Shiply provides a simple, fast, and reliable hosting solution for modern web applications. Features include Git integration, automatic deployments, custom domains, and deployment history tracking.

License

Notifications You must be signed in to change notification settings

tushargr0ver/shiply

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 Shiply

License: MIT TypeScript Next.js AWS Bun Hono

A lightweight Vercel alternative for deploying frontend projects from Git repositories. Shiply provides a simple, fast, and reliable hosting solution for modern web applications.

✨ Features

  • 🔄 Git Integration: Connect any Git repository and deploy with a single click
  • Lightning Fast: Optimized build process and global CDN
  • 🔒 Secure & Reliable: Built-in SSL certificates and DDoS protection
  • 🎯 Simple Deployment: Deploy your frontend projects instantly
  • 📊 Deployment History: Track all your past deployments
  • 🌐 Custom Domains: Deploy to your own domain

🏗️ Architecture

Shiply consists of four main components:

  1. Client (/client): Next.js web application for the user interface
  2. Uploader (/uploader): Service to handle Git repository cloning and file uploads
  3. Deployer (/deployer): Service to build and deploy projects
  4. S3 Reverse Proxy (/s3-reverse-proxy): Handles serving deployed applications

🛠️ Tech Stack

  • Frontend: Next.js, React, TypeScript, Tailwind CSS
  • Backend Services: Bun, Hono, TypeScript
  • Infrastructure: AWS S3, Redis
  • Authentication: Clerk
  • Styling: shadcn/ui, Tailwind CSS

🚀 Getting Started

Prerequisites

  • Node.js (v18 or higher) for client
  • Bun (Latest version) for backend services
  • AWS Account with S3 access
  • Redis instance

Client Setup

cd client
npm install --legacy-peer-deps  # Use this if regular npm install fails
npm run dev

Uploader Setup

cd uploader
bun install
bun run dev

Deployer Setup

cd deployer
bun install
bun run index.ts

S3 Reverse Proxy Setup

cd s3-reverse-proxy
bun install
bun run dev

Environment Variables

Create .env files in each component directory with the following variables:

Client

NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
CLERK_SECRET_KEY=your_clerk_secret_key

NEXT_PUBLIC_CLERK_SIGN_IN_FORCE_REDIRECT_URL=/dashboard
NEXT_PUBLIC_CLERK_SIGN_UP_FORCE_REDIRECT_URL=/dashboard

NEXT_PUBLIC_API_URL=your_api_url

Uploader

AWS_ACCESS_KEY_ID=your_aws_key
AWS_SECRET_ACCESS_KEY=your_aws_secret
AWS_REGION=your_aws_region

Deployer

AWS_ACCESS_KEY_ID=your_aws_key
AWS_SECRET_ACCESS_KEY=your_aws_secret
AWS_REGION=your_aws_region

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📧 Contact

Tushar Grover - @tushargr0ver

Project Link: https://github.com/tushargr0ver/shiply

About

A lightweight Vercel alternative for deploying frontend projects from Git repositories. Built with Next.js, Bun, and Hono, Shiply provides a simple, fast, and reliable hosting solution for modern web applications. Features include Git integration, automatic deployments, custom domains, and deployment history tracking.

Topics

Resources

License

Stars

Watchers

Forks