mirror of
https://github.com/steveiliop56/tinyauth.git
synced 2025-10-28 20:55:42 +00:00
82 lines
1.4 KiB
Markdown
82 lines
1.4 KiB
Markdown
# 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
|
|
```
|