FROM node:20-alpine AS email_builder

RUN npm install -g mjml
RUN mkdir -p /app/templates/html

COPY ./src/emails/templates/mjml /app/templates
RUN mjml /app/templates/* -o /app/templates/html/


FROM python:3.11-alpine AS app

# protoze xfs uzivatel ma id=33
# RUN deluser xfs

# uzivatel www-data v alpine neexistuje
RUN delgroup www-data && addgroup -g 33 -S www-data && adduser -u 33 -D -S -G www-data www-data


RUN apk update && \
    apk add --no-cache tzdata mariadb-client mariadb-dev && \
    pip install --upgrade pip


COPY requirements.txt /app/requirements.txt
COPY --from=email_builder /app/templates/html/ /app/src/email/templates/html/

# required packages for pip (becasue of yarl lib)
ENV INSTALL_PACKAGES build-base linux-headers

RUN apk add --no-cache $INSTALL_PACKAGES
RUN pip install --no-cache-dir -r /app/requirements.txt
RUN apk del $INSTALL_PACKAGES

RUN mkdir /app/upload -p
COPY . /app

WORKDIR /app

CMD ["uvicorn", "src.asgi:app", "--reload", "--reload-dir=/app", "--port=8000", "--host=0.0.0.0", "--log-level=debug"]
