diff --git a/bb-stack-final.yaml b/bb-stack-final.yaml new file mode 100644 index 0000000..dd06b99 --- /dev/null +++ b/bb-stack-final.yaml @@ -0,0 +1,48 @@ +version: '3.7' + +services: + bb-db: + image: ${dockerId}/bb-db:v3 + build: + context: ./bulletin-board-db + networks: + - bb-net + volumes: + - sqlbackup:/var/opt/mssql + + bb-app: + image: ${dockerId}/bb-app:v3.3 + build: + context: ./bulletin-board-app + dockerfile: Dockerfile.v3.3 + networks: + - bb-net + configs: + - source: logConfig + target: /app/config/logConfig.js + secrets: + - source: dbConfig + target: /app/config/dbConfig.js + + bb-proxy: + image: ${dockerId}/bb-proxy:v3 + build: + context: ./bulletin-board-proxy + ports: + - "80:80" + networks: + - bb-net + +networks: + bb-net: + +volumes: + sqlbackup: + +configs: + logConfig: + external: true + +secrets: + dbConfig: + external: true \ No newline at end of file diff --git a/bulletin-board-app/backend/db.js b/bulletin-board-app/backend/db.js index 07aca0b..2e94fa7 100644 --- a/bulletin-board-app/backend/db.js +++ b/bulletin-board-app/backend/db.js @@ -2,19 +2,25 @@ var Sequelize = require('sequelize'); var dbConfig = require('../config/dbConfig'); var log = require('../log'); -var sequelize = new Sequelize(dbConfig.options.dbName, dbConfig.options.username, dbConfig.options.password, { +log.Logger.debug('Initializing connection to SQL Server: %s', dbConfig.connection.host); + +var sequelize = new Sequelize(dbConfig.connection.dbName, dbConfig.connection.username, dbConfig.connection.password, { dialect: 'mssql', - host: dbConfig.options.host, - port: dbConfig.options.port, + host: dbConfig.connection.host, + port: dbConfig.connection.port, + pool: { + max: dbConfig.pool.max + }, dialectOptions: { requestTimeout: 30000 - } + } }); sequelize .authenticate() .then(() => { - log.Logger.info('Successful connection to SQL Server.'); + log.Logger.info('Successful connection to SQL Server: %s', dbConfig.connection.host); + log.Logger.info('--Using connection pool max: %d', dbConfig.pool.max) }) .catch(err => { log.Logger.error('** SQL Server connection failed: ', err); diff --git a/bulletin-board-app/config/dbConfig.js b/bulletin-board-app/config/dbConfig.js index b404574..e4208aa 100644 --- a/bulletin-board-app/config/dbConfig.js +++ b/bulletin-board-app/config/dbConfig.js @@ -1,9 +1,13 @@ var dbConfig = module.exports = {}; -dbConfig.options = { +dbConfig.connection = { username: 'sa', password: 'DockerCon!!!', host: 'bb-db', post: 1433, dbName: 'BulletinBoard' }; + +dbConfig.pool = { + max: 10 +}; \ No newline at end of file diff --git a/bulletin-board-app/config/logConfig.js b/bulletin-board-app/config/logConfig.js index 5d63434..b69d803 100644 --- a/bulletin-board-app/config/logConfig.js +++ b/bulletin-board-app/config/logConfig.js @@ -1,10 +1,14 @@ -const winston = require('winston'); +const { format, transports } = require('winston'); var logConfig = module.exports = {}; logConfig.options = { + format: format.combine( + format.splat(), + format.simple() + ), transports: [ - new winston.transports.Console({ - level: 'info' + new transports.Console({ + level: 'debug' }) ] };