https://github.com/rooyca/ghtree
Web app similar to LinkTree using information from GitHub
https://github.com/rooyca/ghtree
fastapi github-profile htmx linktree linktree-alternative markdown profile profile-website python tailwindcss
Last synced: about 2 months ago
JSON representation
Web app similar to LinkTree using information from GitHub
- Host: GitHub
- URL: https://github.com/rooyca/ghtree
- Owner: Rooyca
- License: mit
- Created: 2023-07-14T03:33:49.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2024-06-14T22:57:03.000Z (11 months ago)
- Last Synced: 2025-01-16T01:54:51.078Z (3 months ago)
- Topics: fastapi, github-profile, htmx, linktree, linktree-alternative, markdown, profile, profile-website, python, tailwindcss
- Language: HTML
- Homepage: https://ghtree.onrender.com/v2/rooyca
- Size: 1.62 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ๐ณ GHTree
Web app similar to LinkTree using information from GitHub.

## ๐งช Try it out
> It may take a few seconds to load the first time.
### https://ghtree.onrender.com/v2/rooyca
## ๐ Don't hesitate to open a pull request with [your own profile](app/data/rooyca.md). ๐
## ๐ Deploy
You can run your own instance locally or deploy it to a serverless platform like [Fly.io](https://fly.io/) or [Render](https://render.com/).
### -> Locally
There are two ways to run the app locally, using Docker or Python.
#### ๐ณ Docker (recommended)
```sh
docker run --rm -p 8000:8000 ghcr.io/rooyca/ghtree:master
```You could also build the image yourself.
```sh
docker build -t ghtree .
docker run --rm -p 8000:8000 ghtree
```There are three Dockerfiles, one with full `python` image, one with `python:slim` and one with `python:alpine`. You can use the one that suits you best. For example, if you want to use the `slim` version, you can do:
```sh
docker build -t ghtree -f Dockerfile.slim .
docker run --rm -p 8000:8000 ghtree
```Although I recommend using the [alpine version](Dockerfile), since it is the smallest one. Let's look at the size of each image.
| Dockerfile | Size |
| --- | --- |
| [Dockerfile (alpine)](Dockerfile) | 167 MB |
| [Dockerfile.slim](Dockerfile.slim) | 562 MB |
| [Dockerfile.full](Dockerfile.full) | +1 GB |#### ๐ Python
```sh
pip install -r requirements.txt
python -m uvicorn app.main:app --reload
```### -> Serverless
You can deploy the app to any serverless platform that supports Python apps, like [Fly](https://fly.io/), [Render](https://render.com/) or any other.
#### ๐ฆ Fly.io
```sh
fly launch
fly deploy
```#### ๐ Render
Run it with Docker. Use the following image:
```sh
ghcr.io/rooyca/ghtree:master
```That's it! ๐
## ๐ ๏ธ Build with
- [FastAPI](https://fastapi.tiangolo.com/)
- [TailwindCSS](https://tailwindcss.com/)
- [HTMX](https://htmx.org/)
- [GitHub API](https://docs.github.com/en/rest)
- [Font Awesome](https://fontawesome.com/)## ๐ TODO
- [ ] Add nix support
## ๐ License
[MIT](LICENSE)