A Nest.js application that provides S3-like storage bucket functionality for file upload, download, and management.
- File Upload: Upload files with validation (size, type)
- File Download: Download files by ID
- File Metadata: Get file information without downloading
- File Deletion: Delete files by ID
- File Listing: List all uploaded files with pagination
- Health Check: Service health monitoring
- Swagger Documentation: API documentation at
/api
POST /storage/upload
Content-Type: multipart/form-data
Body: file (multipart file)
GET /storage/files/{id}
GET /storage/files/{id}/info
DELETE /storage/files/{id}
GET /storage/files?limit=10&offset=0
GET /storage/health
- Max Size: 100MB
- Allowed Types:
- Images: JPEG, PNG, GIF, WebP
- Documents: PDF, TXT, JSON
- Archives: ZIP
- Media: MP4, MP3
npm install
npm run start:dev
npm run build
npm run start:prod
docker-compose up -d
Visit http://localhost:3000/api
for Swagger documentation.