You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

46 lines
1.2 KiB

11 years ago
11 years ago
11 years ago
11 years ago
  1. #
  2. FROM python:3.5-alpine
  3. MAINTAINER https://github.com/muccg/
  4. ARG ARG_DEVPI_SERVER_VERSION
  5. ARG ARG_DEVPI_WEB_VERSION
  6. ARG ARG_DEVPI_CLIENT_VERSION
  7. ENV DEVPI_SERVER_VERSION $ARG_DEVPI_SERVER_VERSION
  8. ENV DEVPI_WEB_VERSION $ARG_DEVPI_WEB_VERSION
  9. ENV DEVPI_CLIENT_VERSION $ARG_DEVPI_CLIENT_VERSION
  10. ENV PIP_NO_CACHE_DIR="off"
  11. ENV PIP_INDEX_URL="https://pypi.python.org/simple"
  12. ENV PIP_TRUSTED_HOST="127.0.0.1"
  13. ENV VIRTUAL_ENV /env
  14. # devpi user
  15. RUN addgroup -S -g 1000 devpi \
  16. && adduser -D -S -u 1000 -h /data -s /sbin/nologin -G devpi devpi
  17. # entrypoint is written in bash
  18. RUN apk add --no-cache bash
  19. # create a virtual env in $VIRTUAL_ENV, ensure it respects pip version
  20. RUN pip install virtualenv \
  21. && virtualenv $VIRTUAL_ENV \
  22. && $VIRTUAL_ENV/bin/pip install pip==$PYTHON_PIP_VERSION
  23. ENV PATH $VIRTUAL_ENV/bin:$PATH
  24. RUN pip install \
  25. "devpi-client==${DEVPI_CLIENT_VERSION}" \
  26. "devpi-web==${DEVPI_WEB_VERSION}" \
  27. "devpi-server==${DEVPI_SERVER_VERSION}"
  28. EXPOSE 3141
  29. VOLUME /data
  30. COPY docker-entrypoint.sh /docker-entrypoint.sh
  31. RUN chmod +x /docker-entrypoint.sh
  32. USER devpi
  33. ENV HOME /data
  34. WORKDIR /data
  35. ENTRYPOINT ["/docker-entrypoint.sh"]
  36. CMD ["devpi"]