docker update

This commit is contained in:
bagus-arie05
2025-11-25 13:50:39 +07:00
parent 94f744d036
commit 22717798ac
2 changed files with 80 additions and 24 deletions

View File

@@ -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"]

View File

@@ -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