FROM node:18-bullseye

# Set working directory
WORKDIR /app

# Install DCMTK dan dependensi yang dibutuhkan
RUN apt-get update && apt-get install -y \
    dcmtk \
    unzip \
    curl \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/*

# Membuat folder untuk DCMTK
RUN mkdir -p /usr/local/share/dcmtk-3.6.8

# Copy DCMTK files
COPY ./usr-dcmtk368/* /usr/local/share/dcmtk-3.6.8/

# Set environment variable untuk DCMTK
ENV DCMDICTPATH=/usr/local/share/dcmtk-3.6.8/dicom.dic

# Create app directory structure
RUN mkdir -p /app/dicomweb-proxy/config

# Copy only necessary files from your project
COPY ./bin /app/dicomweb-proxy/bin
COPY ./public /app/dicomweb-proxy/public
COPY ./src /app/dicomweb-proxy/src
COPY ./package.json /app/dicomweb-proxy/
COPY ./tsconfig.json /app/dicomweb-proxy/

# Masuk ke directory dicomweb-proxy
WORKDIR /app/dicomweb-proxy

# Install dependencies
RUN npm install

# Membuat volume untuk konfigurasi
VOLUME /app/dicomweb-proxy/config

# Expose port yang dibutuhkan (sesuai dengan konfigurasi dicomweb-proxy)
EXPOSE 5000

# Command untuk menjalankan aplikasi
CMD ["npm", "start"]