From 9f723db980dc1237c6191c09ecfcffaffc57da01 Mon Sep 17 00:00:00 2001 From: Pawerfull Date: Thu, 5 Feb 2026 20:53:59 +0700 Subject: [PATCH] add Dockerfile setup for Backend --- Dockerfile | 20 ++++++++++++++++++++ server.js | 40 +++++++++++++++++++--------------------- 2 files changed, 39 insertions(+), 21 deletions(-) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..3a48d34 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,20 @@ +# Dockerfile Backend +FROM node:18 + +# Menentukan Working Dir +WORKDIR /app + +# COPY file package.json dan package-lock.json +COPY package*.json ./ + +# Install depedencies +RUN npm Install + +# Copy semua file ke Repo Container +COPY . . + +# EKSPOS port untuk Backend +EXPOSE 5000 + +# Menjalankan Server +CMD [ "node", "server.js" ] \ No newline at end of file diff --git a/server.js b/server.js index 7631988..13ce7d0 100644 --- a/server.js +++ b/server.js @@ -1,41 +1,39 @@ -const mongoose = require("mongoose"); +const mongoose = require('mongoose'); // Make sure we are running node 10.0+ -const [major, minor] = process.versions.node.split(".").map(parseFloat); +const [major, minor] = process.versions.node.split('.').map(parseFloat); if (major < 10 || (major === 10 && minor <= 0)) { - console.log( - "Please go to nodejs.org and download version 10 or greater. 👌\n " - ); - process.exit(); + console.log('Please go to nodejs.org and download version 10 or greater. 👌\n '); + process.exit(); } // import environmental variables from our variables.env file -require("dotenv").config({ path: ".variables.env" }); +require('dotenv').config({ path: '.variables.env' }); // Connect to our Database and handle any bad connections // mongoose.connect(process.env.DATABASE); mongoose.connect(process.env.DATABASE, { - useNewUrlParser: true, - useUnifiedTopology: true, - useFindAndModify: false, - useCreateIndex: true, + useNewUrlParser: true, + useUnifiedTopology: true, + useFindAndModify: false, + useCreateIndex: true, }); mongoose.Promise = global.Promise; // Tell Mongoose to use ES6 promises -mongoose.connection.on("error", (err) => { - console.error(`🚫 Error → : ${err.message}`); +mongoose.connection.on('error', (err) => { + console.error(`🚫 Error → : ${err.message}`); }); -const glob = require("glob"); -const path = require("path"); +const glob = require('glob'); +const path = require('path'); -glob.sync("./models/*.js").forEach(function (file) { - require(path.resolve(file)); +glob.sync('./models/*.js').forEach(function (file) { + require(path.resolve(file)); }); // Start our app! -const app = require("./app"); -app.set("port", process.env.PORT || 80); -const server = app.listen(app.get("port"), () => { - console.log(`Express running → On PORT : ${server.address().port}`); +const app = require('./app'); +app.set('port', process.env.PORT || 80); +const server = app.listen(app.get('port'), () => { + console.log(`Express running → On PORT : ${server.address().port}`); });