Files
api/Dockerfile
T

40 lines
1002 B
Docker

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.13-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 [ "gunicorn", "src.asgi:app", "--config=/app/config/gunicorn.py" ]