40 lines
1.0 KiB
Docker
40 lines
1.0 KiB
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.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"]
|