Will Webberley
c3fafe61e1
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
|
||
---|---|---|
api | ||
helpers | ||
idp | ||
web | ||
.gitignore | ||
.woodpecker.yml | ||
LICENSE | ||
README.md | ||
Taskfile.yml |
SSO Tools
This is a monorepo containing the code for the web front-end, web API, and IDP service for the SSO Tools web application platform.
Contents
Run locally in development mode
To run the app locally, first ensure you have the needed software installed:
- Python ^3.12
- Node.js (we recommend v22.x)
- Docker (we use this for the Mongo database)
- It can be installed via the Docker website or your package manager
- Ensure the Docker service is running
- Taskfile (convenience tool for running tasks)
- This can be installed using
brew install go-task
- This can be installed using
To begin, clone this repository to your computer:
git clone https://git.wilw.dev/wilw/sso-tools.git
Next, use task
to initialise the project:
task init
There is an envfile
in both the api/
and idp/
directories. You can edit these as needed (though the defaults should allow you to at least launch the app).
Finally, you can start the API, IdP service, and web UI by running:
task
Note: this command also starts the MongoDB database on port 27017. If the DB is already running, you'll see errors reported, but the API and web will still be launched.
You can now navigate to http://localhost:3800 to start using the main webapp. The IdP service is available at http://localhost:6001.
If you pull updates from the repository in the future (e.g. with git pull
) you may need to ensure your dependencies are up-to-date before starting the app again. This can be done with:
task install-deps
Deploy to a production environment
This is currently not publicly documented, but can easily be achieved.
I recommend reading the .woodpecker.yml
file to understand how the components are built and transferred. When running the API and IdP service, take note of the envfile
in each of the directories to understand how the settings can be modified for production use.
Contributions
Contributions to the core project are certainly welcomed. Please get in touch for an invitation to join this repository.