nest-template

Nest Template

这是一个功能丰富的基于 NestJS 框架的项目模板。

项目特性

开始使用

前置要求

1. 使用模版创建项目

点击 Use this template 按钮,创建项目。

2. 修改项目名称及配置

  "name": "nest-template",
  "version": "0.0.1",
  "description": "",
  "author": "gylove1994",
  "private": true,
  "license": "MIT",
cp .env.example .env.development
cp .env.example .env.test
cp .env.example .env.production

注意:请根据实际情况修改 .env.development.env.test.env.production 文件中的配置。

如果使用 docker-compose-dev.yml 启动开发服务,那有关数据库、缓存、消息队列的配置不需要修改。

对象存储默认使用 Minio,但是由于Minio的配置复杂,故没有在 docker-compose-dev.yml 中启动 Minio 服务,如需本地启动 Minio 服务,请参考 docker-compose-dev.yml 文件中的注释内容。

如果需要在非本地环境使用 Minio服务,可以使用sealos提供的对象存储服务,简单快捷。(使用前述连接注册账号,我可以获得返利,感谢您支持本项目)

邮件服务可以使用腾讯企业邮或者是forwardemail提供的邮件服务,具体请参考您选择的邮件提供商的文档。

3. 安装docker仓库

由于本项目使用docker进行自动部署,所以需要安装docker仓库以进行自动部署,并配置docker仓库的secret:

REGISTRY_USERNAME: <docker username>
REGISTRY_PASSWORD: <docker password>
REGISTRY_URL: <docker registry>

可以使用sealos提供的docker仓库服务,一件部署,简单快捷。(使用前述连接注册账号,我可以获得返利,感谢您支持本项目)

如果使用docker的公开仓库,请将以下secret设置为下列值:

REGISTRY_USERNAME: <docker username>
REGISTRY_PASSWORD: <docker password>
REGISTRY_URL: docker.io

4.移除不需要的服务

所有的服务配置文件都存放于src/configs目录下,如果不需要某个服务,可以删除该服务对应的配置文件,并删除位于app.module.ts中的配置以及相应的模块,否则会导致服务启动失败。

4. 安装依赖

pnpm install

5. 启动开发服务依赖

pnpm run env:start:dev

运行

pnpm run start:dev
pnpm run build
pnpm run start:prod