Dockerfile 1018 B

12345678910111213141516171819202122232425262728293031323334
  1. FROM python:3.12-slim as Runner
  2. SHELL ["/bin/bash", "-o", "pipefail", "-c"]
  3. # Env
  4. ENV IS_DOCKER=true
  5. ENV PYTHONPATH=/
  6. ENV GECKO_DRIVER_VERSION='v0.34.0'
  7. ENV PATH="/root/.local/bin:$PATH"
  8. # install VPN utils
  9. # hadolint ignore=DL3008
  10. RUN apt-get update \
  11. && apt-get install -y --no-install-recommends openvpn openconnect curl cifs-utils zip firefox-esr \
  12. && apt-get clean \
  13. && rm -rf /var/lib/apt/lists/*
  14. # Firefox (Selenium)
  15. RUN curl -OL https://github.com/mozilla/geckodriver/releases/download/$GECKO_DRIVER_VERSION/geckodriver-$GECKO_DRIVER_VERSION-linux64.tar.gz \
  16. && tar -xvzf geckodriver-$GECKO_DRIVER_VERSION-linux64.tar.gz \
  17. && rm geckodriver-$GECKO_DRIVER_VERSION-linux64.tar.gz \
  18. && chmod +x geckodriver \
  19. && cp geckodriver /usr/local/bin/ \
  20. && curl -sSL https://install.python-poetry.org | python3 -
  21. # Install the env
  22. WORKDIR /
  23. COPY poetry.lock .
  24. COPY pyproject.toml .
  25. RUN poetry install --no-interaction --no-ansi --without dev --no-root
  26. # Copy the files
  27. COPY ocma /ocma
  28. WORKDIR /ocma