Skip to content

Rooyca/ghtree

Repository files navigation

🌳 GHTree

Web app similar to LinkTree using information from GitHub.

ShowCase

🧪 Try it out

It may take a few seconds to load the first time.

🌟 Don't hesitate to open a pull request with your own profile. 🌟

🚀 Deploy

You can run your own instance locally or deploy it to a serverless platform like Fly.io or Render.

-> Locally

There are two ways to run the app locally, using Docker or Python.

🐳 Docker (recommended)

docker run --rm -p 8000:8000 ghcr.io/rooyca/ghtree:master

You could also build the image yourself.

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:

docker build -t ghtree -f Dockerfile.slim .
docker run --rm -p 8000:8000 ghtree

Although I recommend using the alpine version, since it is the smallest one. Let's look at the size of each image.

Dockerfile Size
Dockerfile (alpine) 167 MB
Dockerfile.slim 562 MB
Dockerfile.full +1 GB

🐍 Python

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, Render or any other.

🦋 Fly.io

fly launch
fly deploy

🚀 Render

Run it with Docker. Use the following image:

ghcr.io/rooyca/ghtree:master

That's it! 🎉

🛠️ Build with

📝 TODO

  • Add nix support

📄 License

MIT