nestjs-starter
Verified Safeby hmake98
Overview
A production-ready NestJS boilerplate for building scalable, enterprise-grade APIs with JWT authentication, PostgreSQL/Prisma, AWS S3/SES, Bull/Redis queues, Docker/Kubernetes support, and AI capabilities via Model Context Protocol (MCP).
Installation
docker-compose up --buildEnvironment Variables
- APP_ENV
- APP_NAME
- APP_DEBUG
- APP_LOG_LEVEL
- APP_CORS_ORIGINS
- HTTP_HOST
- HTTP_PORT
- HTTP_VERSIONING_ENABLE
- HTTP_VERSION
- AUTH_ACCESS_TOKEN_SECRET
- AUTH_REFRESH_TOKEN_SECRET
- AUTH_ACCESS_TOKEN_EXP
- AUTH_REFRESH_TOKEN_EXP
- DATABASE_URL
- AWS_ACCESS_KEY
- AWS_SECRET_KEY
- AWS_S3_REGION
- AWS_S3_BUCKET
- AWS_S3_PRESIGN_LINK_EXPIRES
- AWS_SES_REGION
- AWS_SES_SOURCE_EMAIL
- REDIS_HOST
- REDIS_PORT
- REDIS_PASSWORD
- REDIS_ENABLE_TLS
- MCP_SERVER_NAME
- MCP_SERVER_VERSION
- MCP_LOG_LEVEL
- SENTRY_DSN
Security Notes
The server employs strong security practices including Argon2 for password hashing, AES-256-GCM for data encryption, JWT for authentication, RBAC for authorization, global validation pipes, Helmet for security headers, and Pino for structured logging with sensitive data redaction. Sentry integration is used for error tracking and reporting. Kubernetes secrets are used for sensitive environment variables. A critical note is that the `secret.yaml` template contains default secrets that MUST be updated by the user in a production environment to prevent vulnerabilities.
Similar Servers
mcp-kit
A CLI tool for scaffolding new Model Context Protocol (MCP) applications, including MCP Servers and Clients.
boilerplate-mcp-server
Provides a production-ready foundation for developing custom Model Context Protocol (MCP) servers in TypeScript to connect AI assistants with external APIs and data sources, exemplified by an IP geolocation tool.
mcp-typescript-starter
A feature-complete Model Context Protocol (MCP) server template in TypeScript demonstrating all major MCP features for AI assistant interaction.
Create-MCP
Generates Model Context Protocol (MCP) server projects through a command-line interface.