Start and Stop Commands
Start
To start Nidam with all of its included services, run:
.\nidam-launcher.ps1 start
By default, this starts Nidam with its included frontend, backend, and H2 database.
Excluding Services
You can exclude one or more services when starting Nidam:
.\nidam-launcher.ps1 start -Exclude nidam,spa,h2
In this example, Nidam starts without its built-in backend, frontend, and H2 database.
The following services can be excluded:
"h2", "registration", "token-generator", "reverse-proxy", "bff", "nidam", "spa"
The services are:
| Service | Description |
|---|---|
h2 | Nidam's embedded H2 database |
registration | Handles user registration |
token-generator | Handles user authentication and token generation |
bff | Handles token ↔ session management |
reverse-proxy | Serves Nidam services from a single origin |
nidam | Nidam's built-in backend (resource server) |
spa | Nidam's built-in frontend (React CRA application) |
Fresh Mode
The following command:
.\nidam-launcher.ps1 start -Exclude nidam,spa,h2
is used to starting Nidam without its built-in backend, frontend, and H2 database.
Because this is a common setup when using your own frontend, backend, and database, Nidam provides a shortcut:
.\nidam-launcher.ps1 start -Mode FRESH
Stop
To stop Nidam:
.\nidam-launcher.ps1 stop
You can also stop a specific service.
For example, to stop Nidam's built-in backend so you can use your own:
.\nidam-launcher.ps1 stop nidam
Unlike -Exclude, the stop command accepts only one service at a time.
Restart
Whenever you change configuration.yml, Nidam must be restarted for the changes to take effect.
.\nidam-launcher.ps1 restart
restart works like start, so it also supports the -Exclude option:
.\nidam-launcher.ps1 restart -Exclude nidam,spa,h2
Development
If you clone the Nidam repository and work directly with the source code instead of using the provided binaries, Nidam includes a development script with similar functionality to the production launcher.
The script is located at:
dev\nidam-dev.ps1
It provides the same start, -Exclude, FRESH, stop, and restart functionality described in the Start and Stop Commands section.
The only difference is that you cannot stop an individual service with the development script.
To stop a specific service, open its terminal tab and press Ctrl+C.
Requirements
Running Nidam from source requires:
Microsoft Terminal is also strongly recommended if you're on Windows.