This is a NodeJS application, so proficiency with the node ecosystem is required.
NodeJS v24 must be installed.
You can get NodeJS v24 without impacting other Node installations using Node Version Manager (nvm)
Get NodeJS v24 with nvm
nvm install 24 && nvm use 24Or you can create a complete custom development environment using Toolbx with your own version on NodeJS.
Clone this repository:
git clone https://github.com/aradzie/keybr.com.git
cd keybr.comInstall dependencies:
npm installCreate 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/envRun basic sanity checks, compile, bundle and test the application:
npm run compile
npm run build-dev
env DATABASE_CLIENT=sqlite npm testWhen running the application for the first time, make sure that database tables are created and example users exist:
./packages/devenv/lib/initdb.tsFinally, start the web server:
npm startWith 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 watchThere is also an ability to deploy app with Docker or Docker Compose, Dockerfile and docker-compose.yaml are provided.
There are some limitations: exposed port should always be 3000