This is a nodejs application, so proficiency with the node ecosystem is required.
NodeJS v22 or v20 must be installed.
You can get NodeJS v22 or v20 without impacting other Node installations using Node Version Manager (nvm
)
Get NodeJS v22 with nvm
nvm install 22 && nvm use 22
Clone this repository:
git clone https://github.com/aradzie/keybr.com.git
cd keybr.com
Install dependencies:
npm install
Create your own config file by copying .env.example
to either .env
or to a global location /etc/keybr/env
. The latter is better because it allows you to run scripts from any location, not only from the root directory of the repository.
sudo mkdir -p /etc/keybr
sudo cp .env.example /etc/keybr/env
Run basic sanity checks, compile, bundle and test the application:
npm run compile
npm run build-dev
env DATABASE_CLIENT=sqlite npm test
When running the application for the first time, make sure that database tables are created and example users exist:
./packages/devenv/lib/initdb.ts
Finally, start the web server:
npm start
With the default config the application should be accessible at http://localhost:3000/
While actively developing, you may want your changes to be automatically built and
visible on page refresh.
Run the following command at the same time as npm start
in another shell:
npm run watch