1. 使用 Docker 运行 Minio 服务; 2. 设置 Minio; 3. 在 NestJS 中引入 Minio 服务与预签名接口。
本系列教程将教你使用 NestJS 构建一个生产级别的 REST API 风格的权限管理后台服务。
该教程主要包含以下内容:
- 用户登录,包含身份验证、无感刷新 token、单点登录;
- 用户、角色、权限的增删改查;
- 接口级别的权限控制,使用装饰器与守卫实现;
- 接口返回数据格式统一,使用拦截器与异常过滤器实现;
- 使用
Winston
进行日志管理; Minio
的使用,包含文件上传预签名等;- 编写
Swagger API
文档; - 数据库设计与
Prisma
建模 - 单元测试;
- 生产环境部署,使用
Docker
。
主要技术栈:NestJS、TS、PostgreSQL、Prisma、Redis、Minio、Winston、Docker。
代码仓库,在线预览地址,账号:test,密码:d.12345
1. 使用 Docker 运行 Minio 服务
打开 docker-compose.yml
文件,添加以下内容:
ts
代码解读
复制代码
... minio: image: bitnami/minio:latest ports: - "9000:9000" - "9001:9001" volumes: - minio_data:/data environment: MINIO_ROOT_USER: wansongtao MINIO_ROOT_PASSWORD: w.12345.st MINIO_DEFAULT_BUCKETS: avatar volumes: ... minio_data:
重新运行 docker-compose --env-file .env.development up --build
命令构建容器