Deploy: DocfyUiModule vs standalone

Отдавайте его из того же приложения NestJS, что публикует API, либо как статическую сборку на любом хостинге статики.

Установка

bash
npm install docfy-ui

В пакете лежит уже собранная статика (dist/): ставить какой-то серверный код на бэкенд Node не нужно. Если вы работаете с nestjs-docfy, его DocfyUiModule.setup() уже всё это оборачивает. Если нет, отдайте папку dist/ любым сервером статики.

Через DocfyUiModule.setup()

Самый простой вариант, когда бэкенд на NestJS: пусть nestjs-docfy подключит этот пакет за вас.

ts
import { NestFactory } from "@nestjs/core";
import { SwaggerModule, DocumentBuilder } from "@nestjs/swagger";
import { DocfyUiModule } from "nestjs-docfy";

const app = await NestFactory.create(AppModule);

DocfyUiModule.setup("/docs", app); // before SwaggerModule.setup

const document = SwaggerModule.createDocument(app, new DocumentBuilder().build());
SwaggerModule.setup("api", app, document); // exposes /api-json, which docfy-ui fetches by default

await app.listen(3000);

Откройте /docs, настраивать больше нечего.

Отдельно (статика)

Без nestjs-docfy соберите и отдайте статику сами, указав любой документ OpenAPI:

bash
npm run build   # in this package, or use the prebuilt dist/ from npm

Отдавайте dist/ любым хостингом статики (ServeStaticModule из NestJS, Nginx, S3 с CloudFront и так далее), рядом с API, который публикует спецификацию, или перед ним.

Как указать на удалённую спецификацию

Если спецификация лежит на другом origin, воспользуйтесь переопределением ?spec=<url> (см. «Настройку»).