Skip to content

The main core for building all microservices is based on NestJS / MongoDB / Swagger / Docker

License

Notifications You must be signed in to change notification settings

cleverdeus/micro-core-server

Repository files navigation

Cleverdeus

Система построенная на основе передач данных по средствам TCP и Redis.

Основа

Приложение состоит из REST API модуля и микросервисов.

Environment setup

Обязательно установить среду окружения как в корневой папке так и в модулях микросервисов. Для Мисросирвисов используются персональные настройки .env для каждого свои

Основные настройки окружения

создайте в корне директории файил .envи добавьте указанные ниже параметры

# Global variables
API_GATEWAY_PORT=4000
BASE_URL=http://localhost
JWT_SECRET=4532452345234523452353452345234fdgfgs

## Brute force is used for auth endpoints
BRUTE_FREE_RETRIES = 50          # 50 requests
BRUTE_LIFETIME = 300000          #   in 5 mins

## Public limits
PUBLIC_RATE_LIMIT_MAX = 60       # 60 requests
PUBLIC_RATE_LIMIT_TIME = 60000   #    in 1 min
SPEED_LIMIT_COUNT = 500         # 1k requests
SPEED_LIMIT_TIME = 600000        #    in 1 min
SPEED_LIMIT_DELAY = 100          # delay 100ms

## Limits when using an API key
RATE_LIMIT_MAX = 1000            # 1k requests
RATE_LIMIT_TIME = 60000          #    in 1 min

# Mongodb
MONGO_DSN=mongodb://mongouserdb1:27017/cleverdeusdb
MONGO_HOST=192.168.56.100
MONGO_PORT=50001
MONGO_DATABASE=cleverdeusdb
MONGO_ENABLE=true
MONGO_USER=admin
MONGO_PASSWORD=23423421342134234
MONGO_ROOT_USER=root
MONGO_ROOT_PASSWORD=2342341234234234

# Users Service
USER_SERVICE_PORT=4001
USER_SERVICE_HOST=127.0.0.1

# Profile Service
PROFILE_SERVICE_PORT=4002
PROFILE_SERVICE_HOST=127.0.0.1

# Customers Service
CUSTOMER_SERVICE_PORT=4003
CUSTOMER_SERVICE_HOST=127.0.0.1

# Mail Service
MAIL_SERVICE_PORT=5000
MAIL_SERVICE_HOST=127.0.0.1
MAIL_SERVICE_USER=no_reply@cleverdeus.com
MAIL_SERVICE_PASSWORD=213423421341234234
MAIL_SERVICE_SMTP=smtp.spaceweb.ru
MAIL_SERVICE_SMTP_PORT=465
MAIL_SERVICE_SMTP_TSL=true

Docker setup

Установка в Docker

Перед запуском докера пожалуйста укажите правильно IP адреса для микросирвисов.

Из корневой директории в терминале выполните команду:

 docker-compose up -d

Для активации MongoDB Replica. В терминале докера выполните команду:

mongo mongodb://root:knsdfs7845whdaHFFX@192.168.56.100:50001?authSet=admin

IP адрес сервера укажите своего сервера на который будет установлен MongoDB

rs.initiate(
  {
    _id: "shard1rs",
    members: [
      { _id : 0, host : "127.0.0.1:50001", priority: 1 },
      { _id : 1, host : "127.0.0.1:50002" },
      { _id : 2, host : "127.0.0.1:50003" }
    ]
  }
)
rs.status()

Таким образом вы укажите какой из серверов будет Primary

About

The main core for building all microservices is based on NestJS / MongoDB / Swagger / Docker

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages