self-hosted-app-starter icon indicating copy to clipboard operation
self-hosted-app-starter copied to clipboard

๐Ÿช„ A starter for the self-hosted app, help you to build your next full-stack project. https://sha-starter.onrender.com

Self Hosted App Starter

A starter for the self-hosted app, help you to build your next full-stack project.

Live Demo โ€ข Documentation

GitHub stars Docker pull

Preview

Preview

Features

SHA is built on top of GSVT Stack, which stands for Goใ€SQLiteใ€Vue 3ใ€Tailwind CSS

  • ๐Ÿช„ Full-stack starter with GSVT Stack
  • โš“๏ธ Self-hosted with Dockerfile on the fly
  • ๐Ÿ’พ Store your data using the SQLite database
  • ๐Ÿ–– Choosing your familiar Front-end Tech Stack, default is Vue 3
  • ๐Ÿš„ Deploy your app easily on the Railway / Render

Deploy Services

โš“๏ธ Deploy with Docker

docker run --name sha --publish 3399:8080 --volume ~/.getsha/:/var/opt/sha -e mode=prod getsha/sha:0.1.0

SHA should now be running at http://localhost:3399.

๐Ÿš„ Deploy on Railway

Deploy on Railway

โ˜๏ธ Deploy to Render

Deploy to Render

Tech Stack

Back-end

  • Go
  • Air
  • SQLite

Front-end

Generate by vue3-starter

  • Vue 3
  • Vite
  • WindiCSS

Prerequisites

  • Go (1.16 or later)
  • Air (1.27.10 or later). This is for backend live reload.
  • pnpm

Setup

  1. Install Air.

  2. Pull source.

    npx degit xiaoluoboding/self-hosted-app-starter my-self-hosted-app
    
  3. Start backend using air (with live reload).

    pnpm run dev:be
    or
    air -c backend/scripts/.air.toml
    

    Change the open file limit if you encounter "error: too many open files".

    ulimit -n 10240
    
  4. Start frontend (with live reload).

    pnpm run dev:fe
    or
    cd frontend && pnpm i && pnpm run dev
    

The app should now be running at https://localhost:3000 and change either frontend or backend code would trigger live reload.

Inspired by

Bytebase

License

MIT @xiaoluoboding