FROM eclipse-temurin:11-jre

RUN apt-get update && apt-get install -y --no-install-recommends \
    gawk \
    curl \
    && rm -rf /var/lib/apt/lists/*

RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash - && \
    apt-get install -y --no-install-recommends nodejs && \
    rm -rf /var/lib/apt/lists/*

COPY 1c_enterprise_license_tools_0.15.0_2_linux_x86_64/ /opt/1c-dist/
RUN chmod +x /opt/1c-dist/1ce-installer-cli && \
    /opt/1c-dist/1ce-installer-cli install default --ignore-signature-warnings --products-home /opt/1C && \
    rm -rf /opt/1c-dist

ENV PATH="/opt/1C/components/1c-enterprise-ring-0.19.5+12-x86_64:${PATH}"

WORKDIR /app

COPY web/package.json web/package-lock.json* ./
RUN npm install --omit=dev && npm cache clean --force

COPY web/src/ ./src/
COPY web/public/ ./public/

ENV PORT=3000
ENV TMP_BASE=/tmp/lic-decoder
ENV UPLOAD_DIR=/tmp/lic-decoder-uploads
ENV RING_CMD=ring

EXPOSE 3000

CMD ["node", "src/server.js"]