├── .gitignore ├── .dockerignore ├── nginxdockerfile ├── README.md ├── nodejsdockerfile ├── default.conf ├── models └── Item.js ├── package.json ├── views └── index.ejs ├── docker-compose.yml └── index.js /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | npm-debug.log -------------------------------------------------------------------------------- /nginxdockerfile: -------------------------------------------------------------------------------- 1 | 2 | FROM nginx 3 | COPY ./default.conf /etc/nginx/conf.d/ 4 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # nodeJs-MongoDB-Nginx-Docker-Tutorial 2 | 3 | Nodejs Mongodb App Credit: https://github.com/bradtraversy/docker-node-mongo 4 | -------------------------------------------------------------------------------- /nodejsdockerfile: -------------------------------------------------------------------------------- 1 | FROM node:14 2 | WORKDIR /usr/src/app 3 | COPY ./package*.json /usr/src/app/ 4 | RUN npm install 5 | COPY ./ /usr/src/app/ 6 | EXPOSE 3000 7 | CMD [ "node", "index.js" ] 8 | -------------------------------------------------------------------------------- /default.conf: -------------------------------------------------------------------------------- 1 | server { 2 | location / { 3 | proxy_set_header Host $host; 4 | proxy_set_header X-Real-IP $remote_addr; 5 | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 6 | proxy_set_header X-Forwarded-Proto $scheme; 7 | proxy_pass http://nodejsserver:3000; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /models/Item.js: -------------------------------------------------------------------------------- 1 | const mongoose = require('mongoose'); 2 | const Schema = mongoose.Schema; 3 | 4 | const ItemSchema = new Schema({ 5 | name: { 6 | type: String, 7 | required: true 8 | }, 9 | date: { 10 | type: Date, 11 | default: Date.now 12 | } 13 | }); 14 | 15 | module.exports = Item = mongoose.model('item', ItemSchema); 16 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "docker-node-mongo", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "start": "node index.js" 8 | }, 9 | "keywords": [], 10 | "author": "", 11 | "license": "ISC", 12 | "dependencies": { 13 | "ejs": "^2.6.1", 14 | "express": "^4.16.3", 15 | "mongoose": "^5.2.7" 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /views/index.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 6 | 7 | 8 |