Базовая сборка под сервис на NestJS. Расчитана под развертывание на сервере вместе с Traefik
Включает в себя:
- MongoDB
- Seeder модуль для массового апдейта базы данных и ее очистки
- Оптимизированный Dockerfile с кешированием слоев
- docker-compose с Traefik конфигурацией и проверкой статуса контейнера по health-check запросу
- Throttle защита
- Swagger модуль
- Настроена папка static для раздачи статичного контента
- health-check модуль с контроллером для проверки скорости загрузки файлов с сервера
- DigitalFingerpring middleware
service-network
- имя сети
docker network create service-network
host.docker.internal
- домен для обращения из контейнера к локальной машине, на которой запущен контейнер. Используется в DB_CONNECTION_STRING
. Если база располагается внутри докер-контейнера, то указываем хост контейнера.
Убедитесь, что ваш MongoDB сервер прослушивает не только localhost
, но и другие интерфейсы. Для этого отредактируйте файл конфигурации MongoDB (обычно mongod.conf
) и установите параметр bindIp
на 0.0.0.0
(но будьте осторожны с вопросами безопасности).
В папке config
лежат файлы конфигурации env.development.ts
и env.production.ts
. Они выбираются автоматически в зависимости от выбранного стейджа. При разработке можно переопределить любую переменную из конфига в файле src/config/index.ts
.
NODE_ENV
: варианты окружения production
или development
PORT
: Порт на котором будет запущено приложение
DB_CONNECTION_STRING
: строка подключения к базе данных
ALLOWED_DOMAINS
: разрешенные домены в формате 'example1.com;example2.com'
THROTTLE_TTL
: количество миллисекунд, в течение которых каждый запрос будет храниться в хранилище
THROTTLE_LIMIT
: максимальное количество запросов в пределах лимита TTL
VERSION
: текущая версия приложения
Убедитесь что MongoDB и указанная в DB_CONNECTION_STRING
таблица доступны
npm run start:dev
Убедитесь что MongoDB и указанная в DB_CONNECTION_STRING
таблица доступны
npm run build
...
npm run start:prod
Предварительно настройте Traefik конфигурацию в файле docker-compose.yml
docker compose up -d