From 22717798ac25e7813e6bc07eb3e08ed7f8e310eb Mon Sep 17 00:00:00 2001 From: bagus-arie05 Date: Tue, 25 Nov 2025 13:50:39 +0700 Subject: [PATCH] docker update --- Dockerfile | 73 ++++++++++++++++++++++++++++++++++------------ docker-compose.yml | 31 ++++++++++++++++---- 2 files changed, 80 insertions(+), 24 deletions(-) diff --git a/Dockerfile b/Dockerfile index 574a1cb..58d9cd6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,28 +1,65 @@ -# Menggunakan Node.js versi 20.19.0 -FROM node:20.19.0 +# # Pilih image dasar untuk Node.js versi 20 +# FROM node:20 + +# # Set direktori kerja di dalam container +# WORKDIR /app + +# # Salin package.json dan package-lock.json ke dalam container +# COPY qris_bank_jatim/package*.json ./ + +# # Install dependencies +# RUN npm install + +# # Install nuxt.js secara global (jika belum ada) +# RUN npm install -g nuxt + +# # Salin semua file dari folder aplikasi ke dalam container +# COPY qris_bank_jatim/ /app/ + +# # Expose port yang digunakan aplikasi (biasanya 3000 untuk Nuxt.js) +# EXPOSE 3000 + +# # Jalankan aplikasi menggunakan Nuxt.js +# CMD ["nuxt", "dev"] + +# # Use Node.js 20 Alpine for smaller image +# FROM node:20-alpine + +# # Set working directory +# WORKDIR /app + +# # Copy package files +# COPY qris_bank_jatim/package*.json ./ + +# # Install dependencies +# RUN npm install + +# # Copy source code +# COPY qris_bank_jatim/ ./ + +# # Expose port +# EXPOSE 3000 + +# # Start the development server +# CMD ["npm", "run", "dev"] + +FROM node:20-alpine -# Set direktori kerja WORKDIR /app -# Copy file package.json dan package-lock.json terlebih dahulu untuk memanfaatkan cache Docker +# Install system dependencies including SQLite and build tools +RUN apk add --no-cache \ + python3 \ + make \ + g++ \ + sqlite \ + sqlite-dev + COPY package*.json ./ - -# Install build tools untuk dependency native modules -RUN apt-get update && \ - apt-get install -y python3 make g++ libsqlite3-dev && \ - rm -rf /var/lib/apt/lists/* - -# Install semua dependencies yang diperlukan RUN npm install -# Copy seluruh source code ke dalam container COPY . . -# Expose port 3000 untuk aplikasi Nuxt EXPOSE 3000 -# Menambahkan environment variable untuk mencegah TTY prompt -ENV CI=true - -# Command untuk menjalankan aplikasi Nuxt -CMD ["npm", "run", "dev"] +CMD ["npm", "run", "dev"] \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index b0b580c..5a55ae3 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -5,22 +5,41 @@ services: context: . dockerfile: Dockerfile container_name: qris_bank_jatim + user: "root" ports: - "3000:3000" + volumes: - - ./:/app # Mount source code ke /app dalam container - - /app/node_modules # Bind mount untuk node_modules untuk menghindari override dengan host + # Mount hanya folder project, bukan seluruh root + - ./:/app + + # Keep node_modules inside container + - /app/node_modules + + # SMB langsung ke public/uploads + - smb_data:/app/public/uploads + environment: - NODE_ENV=development - HOST=0.0.0.0 - - CI=true # Menghindari TTY prompt pada Nuxt/Consola - - FOLDER_PATH=public/content - - URL_BASE=ws://10.10.150.222:8080/api/v1/ws - - QUERY=user_id=QRIS&room=BANKJATIM + + env_file: + - .env + working_dir: /app + command: ["npm", "run", "dev", "--", "--host", "0.0.0.0", "--port", "3000"] + networks: - qris-network +volumes: + smb_data: + driver: local + driver_opts: + type: cifs + device: "//10.10.123.49/qris" + o: "username=qris,password=mailadmin123,uid=1000,gid=1000,vers=3.0" + networks: qris-network: driver: bridge