docker update
This commit is contained in:
73
Dockerfile
73
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"]
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user