> For the complete documentation index, see [llms.txt](https://human-forge.gitbook.io/nestjs-seaweedfs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://human-forge.gitbook.io/nestjs-seaweedfs/getting-started.md).

# Getting Started

## Prerequisites

### Node.js

* **Node.js >= 18.0.0** (required by the package)
* **npm** or **pnpm** or **yarn**

### SeaweedFS

You need a running SeaweedFS cluster with:

* **Filer** service (port 8888 by default)
* **S3 Gateway** enabled on the Filer (port 8333 by default)
* **Master** server (port 9333 by default, needed for volume assignment)

See the [README.md](https://github.com/bikky-kc013/nestjs-seaweedfs/tree/main/README.md) for configuration instructions.

### NestJS

This package requires:

* `@nestjs/common` ^10.0.0 || ^11.0.0
* `@nestjs/core` ^10.0.0 || ^11.0.0
* `reflect-metadata` ^0.1.13 || ^0.2.0
* `rxjs` ^7.0.0 || ^8.0.0

These are peer dependencies and should already be installed in your NestJS project.

## Installation

### npm

```bash
npm install nestjs-seaweedfs
```

### pnpm

```bash
pnpm add nestjs-seaweedfs
```

### yarn

```bash
yarn add nestjs-seaweedfs
```

### Bun

```bash
bun add nestjs-seaweedfs
```

## Peer Dependencies

The following packages are required as peer dependencies. They should already be present in your NestJS project:

| Package            | Version              | Purpose                            |
| ------------------ | -------------------- | ---------------------------------- |
| `@nestjs/common`   | ^10.0.0 \|\| ^11.0.0 | NestJS common utilities            |
| `@nestjs/core`     | ^10.0.0 \|\| ^11.0.0 | NestJS core framework              |
| `reflect-metadata` | ^0.1.13 \|\| ^0.2.0  | TypeScript decorator metadata      |
| `rxjs`             | ^7.0.0 \|\| ^8.0.0   | Reactive extensions for JavaScript |

If you're starting a new NestJS project, install these first:

```bash
npm install @nestjs/common @nestjs/core reflect-metadata rxjs
```

## Package Dependencies

The following packages are installed automatically as dependencies of `nestjs-seaweedfs`:

| Package                         | Version  | Purpose                             |
| ------------------------------- | -------- | ----------------------------------- |
| `@aws-sdk/client-s3`            | ^3.600.0 | AWS SDK v3 S3 client                |
| `@aws-sdk/lib-storage`          | ^3.600.0 | AWS SDK v3 multipart upload support |
| `@aws-sdk/s3-request-presigner` | ^3.600.0 | AWS SDK v3 presigned URL support    |
| `axios`                         | ^1.7.0   | HTTP client for Filer REST API      |
| `change-case`                   | ^5.4.0   | String case conversion utilities    |

## Verifying the installation

After installation, verify the package is available:

```bash
# Check the installed version
npm list nestjs-seaweedfs
```

You can also verify the TypeScript types are available:

```bash
# This should resolve to the package's type definitions
npx tsc --noEmit
```

## Next steps

* [Quick Start](/nestjs-seaweedfs/quick-start.md) — Get running in 5 minutes
* [NestJS Integration](/nestjs-seaweedfs/nestjs-integration.md) — Module configuration


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://human-forge.gitbook.io/nestjs-seaweedfs/getting-started.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
