FROM debian:bullseye-slim
ENV TZ Europe/Madrid

ARG DEBIAN_FRONTEND=noninteractive

# NodeJs

RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        curl \
        ca-certificates \
        gnupg2 \
    && curl -fsSL https://deb.nodesource.com/setup_14.x | bash - \
    && apt-get install -y --no-install-recommends nodejs \
    && npm install -g npm@8.19.2

# Puppeteer

RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        libfontconfig lftp xvfb gconf-service libasound2 libatk1.0-0 libc6 \
        libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgbm1 \
        libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 \
        libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 \
        libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 \
        libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 \
        fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget \
    && rm -rf /var/lib/apt/lists/* \
    && npm -g install pm2

# Salix

WORKDIR /salix

COPY print/package.json print/package-lock.json print/
RUN npm --prefix ./print install --omit=dev ./print

COPY package.json package-lock.json ./
COPY loopback/package.json loopback/
RUN npm install --omit=dev

COPY loopback loopback
COPY back back
COPY modules modules
COPY print print
COPY \
    LICENSE \
    README.md \
    ./

CMD ["pm2-runtime", "./back/process.yml"]

HEALTHCHECK --interval=15s --timeout=10s \
    CMD curl -f http://localhost:3000/api/Applications/status || exit 1