Browse Source

update

master
Yutsuo 6 years ago
commit
ff93ad5d27
  1. 13
      Dockerfile
  2. 20
      app.js
  3. 90
      bin/www
  4. 62
      docker-compose-proxy.yml
  5. 14
      package.json
  6. 13
      public/index.html
  7. 8
      public/stylesheets/style.css
  8. 9
      routes/index.js
  9. 9
      routes/users.js

13
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"]

20
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;

90
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);
}

62
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

14
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"
}
}

13
public/index.html

@ -0,0 +1,13 @@
<html>
<head>
<title>Express</title>
<link rel="stylesheet" href="/stylesheets/style.css">
</head>
<body>
<h1>Express</h1>
<p>Welcome to Express</p>
</body>
</html>

8
public/stylesheets/style.css

@ -0,0 +1,8 @@
body {
padding: 50px;
font: 14px "Lucida Grande", Helvetica, Arial, sans-serif;
}
a {
color: #00B7FF;
}

9
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;

9
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;
Loading…
Cancel
Save