# Dockerfile

ARG AWS_ACCOUNT=086679231553

FROM ${AWS_ACCOUNT}.dkr.ecr.us-east-1.amazonaws.com/docker-parent-images:python313 AS base

WORKDIR /var/app

USER root

# Update and install common packages
RUN apt-get update \
  && apt-get -y upgrade \
  && apt-get -y install \
    curl \
    fontconfig \
    gcc \
    ghostscript \
    git \
    libfontconfig1 \
    libxrender1 \
    make \
    supervisor \
    tar \
    wget \
    which \
    xfonts-base \
    xfonts-75dpi \
    xz-utils \
    zip \
    zlib1g-dev \
  && apt-get -y clean \
  && rm -rf /var/lib/apt/lists/*

RUN wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-3/wkhtmltox_0.12.6.1-3.bookworm_amd64.deb
RUN dpkg -i ./wkhtmltox_0.12.6.1-3.bookworm_amd64.deb

ENV PATH "$PATH:/var/libs/wkhtmltox/bin:/usr/bin"

RUN python3.13 -m venv /var/app

RUN /usr/sbin/useradd salessheets -s /bin/false

ADD . /var/app
RUN pip3.13 install --upgrade pip setuptools
RUN pip3.13 install -r requirements.txt

# Allow writes for fontconfig
RUN chown -R salessheets:salessheets /var/app
RUN chmod 755 /var/app

RUN mkdir -p /var/app/results
RUN chown -R salessheets:salessheets /var/app/results

EXPOSE 9001

FROM base as deploy

CMD  ["/usr/bin/supervisord", "-c", "/var/app/conf/supervisord.conf"]

FROM base as unit-lint

RUN pip3.13 install -r requirements-dev.txt
CMD  ["/var/app/scripts/unit-lint.sh"]