A progressive Node.js framework for building efficient and scalable server-side applications, heavily inspired by Angular.
This module contains integrated healthchecks for Nest.
@nestjs/terminus integrates with a lot of cool technologies, such as typeorm, grpc, mongodb, and many more!
In case you have missed a dependency, @nestjs/terminus will throw an error and prompt you to install the required dependency.
So you will only install what is actually required!
npm install --save @nestjs/terminus
- Import the Terminus module
 - Make sure the additionally needed modules are available to (e.g. 
TypeOrmModule), in case you want to do Database Health Checks. 
// app.module.ts
@Module({
  controllers: [HealthController],
  imports:[
    // Make sure TypeOrmModule is available in the module context
    TypeOrmModule.forRoot({ ... }),
    TerminusModule
  ],
})
export class HealthModule { }- Setup your 
HealthControllerwhich executes your Health Check. 
// health.controller.ts
@Controller('health')
export class HealthController {
  constructor(
    private health: HealthCheckService,
    private db: TypeOrmHealthIndicator,
  ) {}
  @Get()
  @HealthCheck()
  readiness() {
    return this.health.check([
      async () => this.db.pingCheck('database', { timeout: 300 }),
    ]);
  }
}If everything is set up correctly, you can access the healthcheck on http://localhost:3000/health.
{
  "status": "ok",
  "info": {
    "database": {
      "status": "up"
    }
  },
  "details": {
    "database": {
      "status": "up"
    }
  }
}For more information, see docs. You can find more samples in the samples/ folder of this repository.
In order to get started, first read through our Contributing guidelines.
Setup the development environment by following these instructions:
- Fork & Clone the repository
 - Install the dependencies
 
pnpm i
pnpm devIn order to test the library against a sample, simply go to a sample and run
pnpm start:dev
cd sample/000-dogs-app
pnpm start:devNote
Once the library is rebuilt, the pnpm start:dev within a sample
needs to be restarted in order to pick up the changes.
For unit testing run the following command:
pnpm testFor e2e testing, a Docker Compose stack is required. Make sure Docker is installed on your machine and run the following command.
docker compose up -d
pnpm test:e2eNest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please read more here.
- Author - Kamil Myśliwiec and Livio Brunner
 - Website - https://nestjs.com
 - Twitter - @nestframework
 
Nest is MIT licensed.