- 开发语言:Node.js(v22.12.0+)、Typescript(v5.0.0+)
- 基本架构:koa2、mysql、redis、minio
- 运行环境:nodemon、pm2
- 在数据库中新建数据库work_api
- 根据实际需要添加数据(后续将对敏感信息加密后再存入数据库)
示例文件:.env.expample
示例如下(拷贝示例文件并修改为本地 env 文件)
本地 env 文件:.env.local
SERVER_PORT=5001
SERVER_LOGS_PATH=/logs/bookroom-api
DB_HOST=localhost
DB_PORT=3306
DB_USER=test
DB_PASSWORD=test-key
DB_DATABASE=work_api
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_PASSWORD=test
REDIS_DATABASE=work_api
MINIO_ENDPOINT=127.0.0。1
MINIO_PORT=9000
MINIO_ACCESS_KEY=minio
MINIO_SECRET_KEY=minio
MINIO_BUCKET_NAME=work
MINIO_REGION=ap-southeast-1
MINIO_USE_SSL=false
npm config set registry https://registry.npmmirror.com
npm install ts-node -g
npm install pm2 -g
npm install pnpm -g
pnpm install
pnpm start
pnpm dev
pnpm build
pnpm deploy
pnpm undeploy
docker login -u username <IP:port>/<repository>
注:Makefile中定义了build-push-all目标,可以一次性构建并推送镜像
make build-push-all REGISTRY_URL=<IP:port>/<repository> IMAGE_NAME=bookroom-api IMAGE_VERISON=1.0.0