commit ff93ad5d27600e8ef9bbf416ab7c16f9aa88fa60 Author: Yutsuo Date: Thu Jan 16 11:21:10 2020 -0300 update diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..ebb3ec8 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,13 @@ +FROM node:current-alpine AS builder + +WORKDIR /app + +COPY /package.json /app/ + +RUN apk add --no-cache git + +RUN npm install + +COPY . /app/ + +CMD ["sh", "checkIsUp.sh"] diff --git a/app.js b/app.js new file mode 100644 index 0000000..d187f73 --- /dev/null +++ b/app.js @@ -0,0 +1,20 @@ +var express = require('express'); +var path = require('path'); +var cookieParser = require('cookie-parser'); +var logger = require('morgan'); + +var indexRouter = require('./routes/index'); +var usersRouter = require('./routes/users'); + +var app = express(); + +app.use(logger('dev')); +app.use(express.json()); +app.use(express.urlencoded({ extended: false })); +app.use(cookieParser()); +app.use(express.static(path.join(__dirname, 'public'))); + +app.use('/', indexRouter); +app.use('/users', usersRouter); + +module.exports = app; diff --git a/bin/www b/bin/www new file mode 100755 index 0000000..c09a751 --- /dev/null +++ b/bin/www @@ -0,0 +1,90 @@ +#!/usr/bin/env node + +/** + * Module dependencies. + */ + +var app = require('../app'); +var debug = require('debug')('es6-node:server'); +var http = require('http'); + +/** + * Get port from environment and store in Express. + */ + +var port = normalizePort(process.env.PORT || '3000'); +app.set('port', port); + +/** + * Create HTTP server. + */ + +var server = http.createServer(app); + +/** + * Listen on provided port, on all network interfaces. + */ + +server.listen(port); +server.on('error', onError); +server.on('listening', onListening); + +/** + * Normalize a port into a number, string, or false. + */ + +function normalizePort(val) { + var port = parseInt(val, 10); + + if (isNaN(port)) { + // named pipe + return val; + } + + if (port >= 0) { + // port number + return port; + } + + return false; +} + +/** + * Event listener for HTTP server "error" event. + */ + +function onError(error) { + if (error.syscall !== 'listen') { + throw error; + } + + var bind = typeof port === 'string' + ? 'Pipe ' + port + : 'Port ' + port; + + // handle specific listen errors with friendly messages + switch (error.code) { + case 'EACCES': + console.error(bind + ' requires elevated privileges'); + process.exit(1); + break; + case 'EADDRINUSE': + console.error(bind + ' is already in use'); + process.exit(1); + break; + default: + throw error; + } +} + +/** + * Event listener for HTTP server "listening" event. + */ + +function onListening() { + var addr = server.address(); + var bind = typeof addr === 'string' + ? 'pipe ' + addr + : 'port ' + addr.port; + debug('Listening on ' + bind); +} diff --git a/docker-compose-proxy.yml b/docker-compose-proxy.yml new file mode 100644 index 0000000..383c0b6 --- /dev/null +++ b/docker-compose-proxy.yml @@ -0,0 +1,62 @@ +version: "3.7" +services: + mongodb: + image: mongo:latest + container_name: mongodb + volumes: + - ./mongo_data:/data/db + environment: + - MONGO_INITDB_DATABASE=forms + - MONGO_INITDB_ROOT_USERNAME=mongodbUser + - MONGO_INITDB_ROOT_PASSWORD=mongodbPass + ports: + - "27017:27017" + + mongo-express: + container_name: mongo-express + depends_on: + - mongodb + image: mongo-express:latest + environment: + - ME_CONFIG_MONGODB_SERVER=mongodb + - ME_CONFIG_MONGODB_PORT=27017 + - ME_CONFIG_MONGODB_ADMINUSERNAME=mongodbUser + - ME_CONFIG_MONGODB_ADMINPASSWORD=mongodbPass + - ME_CONFIG_BASICAUTH_USERNAME=expressUser + - ME_CONFIG_BASICAUTH_PASSWORD=expressPass + - ME_CONFIG_MONGODB_ENABLE_ADMIN=true + - ME_CONFIG_OPTIONS_EDITORTHEME=default + ports: + - "8081:8081" + + node: + depends_on: + - mongodb + image: avaliacao-imovel-rural/air-backend + container_name: air-backend + build: + context: . + args: + - HTTP_PROXY=http://192.168.128.1:3128 + - HTTPS_PROXY=http://192.168.128.1:3128 + - http_proxy=http://192.168.128.1:3128 + - https_proxy=http://192.168.128.1:3128 + ports: + - "3001:3001" + env_file: + - .env + environment: + - NODEJS_HOST=0.0.0.0 + - NODEJS_PORT=3001 + - MONGO_DB_HOST=mongodb + - MONGO_DB_PORT=27017 + - MONGO_DB_URL=mongodb://mongodb:27017/analise-agro?authSource=admin + - MONGO_DB_USER=mongodbUser + - MONGO_DB_PWD=mongodbPass + +networks: + default: + ipam: + driver: default + config: + - subnet: 172.17.1.0/24 diff --git a/package.json b/package.json new file mode 100644 index 0000000..b7b5727 --- /dev/null +++ b/package.json @@ -0,0 +1,14 @@ +{ + "name": "es6-node", + "version": "0.0.0", + "private": true, + "scripts": { + "start": "node ./bin/www" + }, + "dependencies": { + "cookie-parser": "~1.4.4", + "debug": "~2.6.9", + "express": "~4.16.1", + "morgan": "~1.9.1" + } +} diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000..ab1ad8a --- /dev/null +++ b/public/index.html @@ -0,0 +1,13 @@ + + + + Express + + + + +

Express

+

Welcome to Express

+ + + diff --git a/public/stylesheets/style.css b/public/stylesheets/style.css new file mode 100644 index 0000000..9453385 --- /dev/null +++ b/public/stylesheets/style.css @@ -0,0 +1,8 @@ +body { + padding: 50px; + font: 14px "Lucida Grande", Helvetica, Arial, sans-serif; +} + +a { + color: #00B7FF; +} diff --git a/routes/index.js b/routes/index.js new file mode 100644 index 0000000..ecca96a --- /dev/null +++ b/routes/index.js @@ -0,0 +1,9 @@ +var express = require('express'); +var router = express.Router(); + +/* GET home page. */ +router.get('/', function(req, res, next) { + res.render('index', { title: 'Express' }); +}); + +module.exports = router; diff --git a/routes/users.js b/routes/users.js new file mode 100644 index 0000000..623e430 --- /dev/null +++ b/routes/users.js @@ -0,0 +1,9 @@ +var express = require('express'); +var router = express.Router(); + +/* GET users listing. */ +router.get('/', function(req, res, next) { + res.send('respond with a resource'); +}); + +module.exports = router;