Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/xiaoluoboding/self-hosted-app-starter
πͺ A starter for the self-hosted app, help you to build your next full-stack project. https://sha-starter.onrender.com
https://github.com/xiaoluoboding/self-hosted-app-starter
docker-image golang self-hosted starter starter-kit starter-project tailwindcss vue3
Last synced: 10 days ago
JSON representation
πͺ A starter for the self-hosted app, help you to build your next full-stack project. https://sha-starter.onrender.com
- Host: GitHub
- URL: https://github.com/xiaoluoboding/self-hosted-app-starter
- Owner: xiaoluoboding
- License: mit
- Created: 2022-05-20T05:15:52.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-08-14T07:46:38.000Z (3 months ago)
- Last Synced: 2024-10-12T02:42:56.771Z (25 days ago)
- Topics: docker-image, golang, self-hosted, starter, starter-kit, starter-project, tailwindcss, vue3
- Language: Go
- Homepage: https://sha-starter.up.railway.app/
- Size: 15.6 MB
- Stars: 70
- Watchers: 3
- Forks: 6
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
Self Hosted App Starter
A starter for the self-hosted app, help you to build your next full-stack project.
## Preview
![Preview](public/preview.png)
## 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
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](https://railway.app/button.svg)](https://railway.app/new/template/prX7No?referralCode=UEM9NF)
### βοΈ Deploy to Render
[![Deploy to Render](https://render.com/images/deploy-to-render-button.svg)](https://dashboard.render.com/web/new)
## Tech Stack
### Back-end
- Go
- Air
- SQLite### Front-end
Generate by [vue3-starter](https://github.com/xiaoluoboding/vue3-starter)
- Vue 3
- Vite
- Shadcn Vue
- Tailwind CSS### Prerequisites
- [Go](https://golang.org/doc/install) (1.16 or later)
- [Air](https://github.com/cosmtrek/air#installation) (1.27.10 or later). This is for backend live reload.
- [pnpm](https://pnpm.io/installation)## Setup
1. Install [Air](https://github.com/cosmtrek/air#installation).
2. Pull source.
```bash
npx degit xiaoluoboding/self-hosted-app-starter my-self-hosted-app
```3. Start backend using air (with live reload).
```bash
pnpm run dev:be
or
air -c backend/scripts/.air.toml
```> Change the open file limit if you encounter "error: too many open files".
```bash
ulimit -n 10240
```4. Start frontend (with live reload).
```bash
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](https://github.com/bytebase/bytebase)
## License
MIT [@xiaoluoboding](https://github.com/xiaoluoboding)