FROM python:3.10.4-slim-bullseye LABEL org.opencontainers.image.title="GreatAI package wrapper container" LABEL org.opencontainers.image.vendor="ScoutinScience B.V." LABEL org.opencontainers.image.authors="andras@schmelczer.dev" LABEL org.opencontainers.image.source="https://github.com/ScoutinScience/great-ai" ENV ENVIRONMENT=production EXPOSE 6060 # curl is needed for the healthcheck # build-essentials are needed for building packages RUN DEBIAN_FRONTEND=noninteractive apt update &&\ apt install curl build-essential -y &&\ rm -rf /var/lib/apt/lists/* WORKDIR /dependencies COPY . great_ai RUN python3 -m pip --no-cache-dir install --upgrade pip &&\ pip install --no-cache-dir ./great_ai &&\ rm -rf great_ai HEALTHCHECK \ --interval=10s \ --timeout=60s \ --start-period=30s \ --retries=5 \ CMD [ "curl", "--fail", "http://localhost:6060/health" ] WORKDIR /app VOLUME /app COPY docs/hello_world.py . ENTRYPOINT ["/usr/local/bin/python3", "-m", "great_ai"] CMD ["hello_world.py"]