API for balda game
$ npm install# development
$ npm run start
# watch mode
$ npm run start:dev
# production mode
$ npm run start:prod- mongo-init.sh
set -e
mongosh <<EOF
db = db.getSiblingDB('$MONGO_DB')
db.createUser({
user: '$MONGO_USER',
pwd: '$MONGO_PASSWORD',
roles: [{ role: 'readWrite', db: '$MONGO_DB' }],
});
db.createCollection('words')
EOF- docker-compose-mongo.yml
version: '3.8'
services:
mongo:
image: mongo
container_name: balda-api-mongo
hostname: mongo
restart: always
environment:
- MONGO_INITDB_ROOT_USERNAME=${MONGO_INIT_USER}
- MONGO_INITDB_ROOT_PASSWORD=${MONGO_INIT_PASSWORD}
- MONGO_DB=${MONGO_DB}
- MONGO_USER=${MONGO_USER}
- MONGO_PASSWORD=${MONGO_PASSWORD}
ports:
- 27017:27017
volumes:
- ./mongo-data:/data/db
- ./mongo-init.sh:/docker-entrypoint-initdb.d/mongo-init.sh:ro
command: --wiredTigerCacheSizeGB 1.5
- hostname does not work for local run
dbNameoption for MongooseModule does not work. Set db name in connection uri
docker compose -f .\docker-compose-mongo.yml up
mongosh --port 27017 --authenticationDatabase 'admin' -u 'admin' -pmongosh --port 27017 --authenticationDatabase 'balda' -u 'balda' -p
const salt = await genSalt(10);
const passwordHash = await hash(dto.password, salt);db.users.insertOne({ "name": "balda", "passwordHash": "hash" });