FROM python:3.11-slim as base LABEL AUTHOR="AKI Projektseminar 23" \ PROJECT="Transparenzregister" \ ORGANISATION="fh-swf.de" ENV SQLALCHEMY_SILENCE_UBER_WARNING="1" ARG APP_HOME="transparenzregister" ARG GIT_HASH ENV GIT_HASH=${GIT_HASH} LABEL GIT_HASH=${GIT_HASH} WORKDIR /${APP_HOME}/ USER root RUN apt update -y && \ apt install git sqlite3 tini -y && \ rm -rf /var/lib/apt/lists/* COPY dist/*.whl dist/ RUN pip install --find-links=dist aki-prj23-transparenzregister --no-cache-dir FROM base as ingest LABEL PART="DATA_INGESTOR" ### Install Chrome ### # Update the package lists RUN apt-get update # Install wget and unzip RUN apt-get install -y wget unzip # Install Google Chrome RUN wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb RUN dpkg -i google-chrome-stable_current_amd64.deb; apt-get -fy install RUN pip install --find-links=dist aki-prj23-transparenzregister[ingest] --no-cache-dir && \ rm dist/ -R ENTRYPOINT ["/usr/bin/tini", "--", "ingest", "ENV"] CMD ["--level", "INFO"] FROM base as data-transformation LABEL PART="DATA-TRANSFORMATION" RUN pip install --find-links=dist aki-prj23-transparenzregister[transformation] --no-cache-dir && \ rm dist/ -R ENTRYPOINT ["/usr/bin/tini", "--", "data-processing", "ENV"] CMD ["--level", "INFO"] FROM base as web-server LABEL PART="WEB-SERVER" RUN pip install --find-links=dist aki-prj23-transparenzregister[web-server] --no-cache-dir && \ rm dist/ -R ENTRYPOINT ["/usr/bin/tini", "--", "webserver", "ENV"] CMD ["--level", "INFO"]