yazid138 2 年之前
父節點
當前提交
e658965ed6
共有 2 個文件被更改,包括 15 次插入16 次删除
  1. 8 15
      controller/auto.controller.js
  2. 7 1
      dockerfile

+ 8 - 15
controller/auto.controller.js

@@ -365,16 +365,12 @@ exports.getSave = handleError(async (req, res) => {
 })
 
 exports.backup = handleError(async (req, res) => {
-  let db = 'ptb-db'
-  const baseUrl = coba.decrypt(process.env.W8A1C)
-  if (baseUrl.includes('dev')) db = 'ptb-db-dev'
+  const mongoUrl = coba.decrypt(process.env.MYDSY)
+  let cmd = `mongodump --uri ${mongoUrl} -o backup/${moment().format('YYYY-MM-DD')}`
 
-  let cmd = `mongodump -d ${db} -o backup/${moment().format('YYYY-MM-DD')}`
-
-  const akun = coba.decrypt(process.env.MYDSY).match(/\/\/(.*?)@/i)
+  const akun = mongoUrl.match(/\/\/(.*?)@/i)
   if (akun?.length) {
-    const [username, password] = akun[1].split(':')
-    cmd += ` -u ${username} -p ${password} --authenticationDatabase admin`
+    cmd += ` --authenticationDatabase admin`
   }
 
   childProcess.execSync(cmd)
@@ -390,16 +386,13 @@ exports.restore = handleError(async (req, res) => {
   if (!isValid) return
 
   const { tanggal } = req.query
-  let db = 'ptb-db'
-  const baseUrl = coba.decrypt(process.env.W8A1C)
-  if (baseUrl.includes('dev')) db = 'ptb-db-dev'
-
-  let cmd = `mongorestore -d ${db}`
+  const mongoUrl = coba.decrypt(process.env.MYDSY)
+  let cmd = `mongorestore --uri ${mongoUrl}`
 
-  const akun = coba.decrypt(process.env.MYDSY).match(/\/\/(.*?)@/i)
+  const akun = mongoUrl.match(/\/\/(.*?)@/i)
   if (akun?.length) {
     const [username, password] = akun[1].split(':')
-    cmd += ` -u ${username} -p ${password} --authenticationDatabase admin`
+    cmd += ` --authenticationDatabase admin`
   }
   cmd += ` backup/${tanggal}`
 

+ 7 - 1
dockerfile

@@ -1,10 +1,16 @@
 FROM node:14
 
+# Install Depends
+RUN wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | apt-key add - &&  \
+    echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/6.0 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-6.0.list && \
+    apt-get update && \
+    apt install mongodb-org-tools
+
 # Create app directory
 RUN mkdir -p /usr/src/app
 WORKDIR /usr/src/app
 
-# Installing dependencies
+# Installing node dependencies
 COPY package.json ./
 RUN npm install