Contributing
Contributing to Tinyauth is straightforward. Follow the steps below to set up a development server.
Requirements
Section titled “Requirements”- Bun
- Golang v1.24.0 or later
- Git
- Docker
- Make
Cloning the Repository
Section titled “Cloning the Repository”Start by cloning the repository:
git clone https://github.com/steveiliop56/tinyauthcd tinyauthInitialize Submodules
Section titled “Initialize Submodules”The project uses Git submodules for some dependencies, so you need to initialize them with:
git submodule initgit submodule updateApply patches
Section titled “Apply patches”Some of the dependencies must be patched in order to work correctly with the project, you can apply the patches by running:
git apply --directory paerser/ patches/nested_maps.diffInstalling Requirements
Section titled “Installing Requirements”While development occurs within Docker, installing the requirements locally is recommended to avoid import errors. Install the Go dependencies:
go mod tidyFrontend dependencies can be installed as follows:
cd frontend/bun installCreate the .env file
Section titled “Create the .env file”Configuration requires an environment file. Copy the .env.example file to .env and adjust the environment variables as needed.
Development Workflow
Section titled “Development Workflow”The development workflow is designed to run entirely within Docker, ensuring compatibility with Traefik and eliminating the need for local builds. A recommended setup involves pointing a subdomain to the local machine:
*.dev.example.com -> 127.0.0.1dev.example.com -> 127.0.0.1Ensure the domains are correctly configured in the development Docker Compose file, then start the development environment:
make devIn case you need to build the binary locally, you can run:
make binary