Skip to content

Contributing

Contributing is relatively easy.

Requirements

  • Bun
  • Golang v1.23.2 and above
  • Git
  • Docker

Cloning the repository

You firstly need to clone the repository with:

sh
git clone https://github.com/steveiliop56/tinyauth
cd tinyauth

Install requirements

Now it's time to install the requirements, firstly the Go ones:

sh
go mod download

And now the site ones:

sh
cd site
bun i

Developing locally

In order to develop the app locally you need to build the frontend and copy it to the assets folder in order for Go to embed it and host it. In order to build the frontend run:

sh
cd site
bun run build
cd ..

Copy it to the assets folder:

sh
rm -rf internal/assets/dist
cp -r site/dist internal/assets/dist

Finally either run the app with:

sh
go run main.go

Or build it with:

sh
go build

WARNING

Make sure you have set the environment variables when running outside of docker else the app will fail.

Developing in docker

My recommended development method is docker so I can test that both my image works and that the app responds correctly to traefik. In my setup I have set these two DNS records in my DNS server:

*.dev.local -> 127.0.0.1
dev.local -> 127.0.0.1

Then I can just make sure the domains are correct in the example docker compose file and do:

sh
docker compose -f docker-compose.dev.yml up --build