diff --git a/nodejs-postgres/docker-compose.yml b/nodejs-postgres/docker-compose.yml new file mode 100644 index 0000000..d3825cb --- /dev/null +++ b/nodejs-postgres/docker-compose.yml @@ -0,0 +1,19 @@ +version: '3' +services: + db: + build: + context: ./postgres + ports: + - "5432:5432" + app: + build: + context: ./nodejs + ports: + - "3000:3000" + depends_on: + - db + networks: + - backend + +networks: + backend: diff --git a/nodejs-postgres/nodejs/Dockerfile b/nodejs-postgres/nodejs/Dockerfile new file mode 100644 index 0000000..3d212c7 --- /dev/null +++ b/nodejs-postgres/nodejs/Dockerfile @@ -0,0 +1,13 @@ +FROM node:14 + +WORKDIR /app + +COPY package*.json ./ + +RUN npm install + +COPY . . + +EXPOSE 3000 + +CMD [ "npm", "start" ] diff --git a/nodejs-postgres/nodejs/index.js b/nodejs-postgres/nodejs/index.js new file mode 100644 index 0000000..3799069 --- /dev/null +++ b/nodejs-postgres/nodejs/index.js @@ -0,0 +1,11 @@ +const express = require('express'); +const app = express(); +const port = 3000; + +app.get('/', (req, res) => { + res.send('Hello World!'); +}); + +app.listen(port, () => { + console.log(`Example app listening at http://localhost:${port}`); +}); diff --git a/nodejs-postgres/nodejs/package.json b/nodejs-postgres/nodejs/package.json new file mode 100644 index 0000000..0e22aa6 --- /dev/null +++ b/nodejs-postgres/nodejs/package.json @@ -0,0 +1,12 @@ +{ + "name": "nodejs-express-example", + "version": "1.0.0", + "description": "A simple NodeJS app using Express", + "main": "index.js", + "scripts": { + "start": "node index.js" + }, + "dependencies": { + "express": "^4.17.1" + } +} diff --git a/nodejs-postgres/postgres/Dockerfile b/nodejs-postgres/postgres/Dockerfile new file mode 100644 index 0000000..97b87bc --- /dev/null +++ b/nodejs-postgres/postgres/Dockerfile @@ -0,0 +1,5 @@ +FROM postgres:12 + +ENV POSTGRES_DB mydb +ENV POSTGRES_USER myuser +ENV POSTGRES_PASSWORD mypassword