62 lines
1.9 KiB
Docker
62 lines
1.9 KiB
Docker
FROM summerwind/actions-runner:v2.288.1-ubuntu-20.04-c221b6e as base
|
|
|
|
USER root
|
|
|
|
# Install system requirements
|
|
RUN apt-get update && \
|
|
# Global requirements
|
|
DEBIAN_FRONTEND=noninteractive apt-get install --yes \
|
|
build-essential git language-pack-en libmysqlclient-dev libssl-dev libxml2-dev \
|
|
libxmlsec1-dev libxslt1-dev \
|
|
# lynx: Required by https://github.com/edx/edx-platform/blob/b489a4ecb122/openedx/core/lib/html_to_text.py#L16
|
|
lynx xvfb pkg-config \
|
|
python3-dev python3-venv \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Install Mongodb 4.4
|
|
RUN wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | apt-key add -
|
|
RUN echo "deb https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-4.4.list
|
|
RUN apt-get update && apt-get install -y mongodb-org=4.4.13
|
|
EXPOSE 27017
|
|
|
|
RUN locale-gen en_US.UTF-8
|
|
ENV LANG en_US.UTF-8
|
|
ENV LANGUAGE en_US:en
|
|
ENV LC_ALL en_US.UTF-8
|
|
|
|
WORKDIR /edx/app/edxapp/edx-platform
|
|
|
|
ENV PATH /edx/app/edxapp/nodeenv/bin:${PATH}
|
|
ENV PATH ./node_modules/.bin:${PATH}
|
|
ENV CONFIG_ROOT /edx/etc/
|
|
ENV PATH /edx/app/edxapp/edx-platform/bin:${PATH}
|
|
ENV SETTINGS production
|
|
RUN mkdir -p /edx/etc/
|
|
|
|
ENV VIRTUAL_ENV=/edx/app/edxapp/venvs/edxapp
|
|
RUN python3.8 -m venv $VIRTUAL_ENV
|
|
ENV PATH="$VIRTUAL_ENV/bin:$PATH"
|
|
|
|
|
|
FROM base as build
|
|
|
|
# Install Python requirements
|
|
COPY setup.py setup.py
|
|
COPY common/lib/ common/lib/
|
|
COPY openedx/core/lib openedx/core/lib
|
|
COPY lms lms
|
|
COPY cms cms
|
|
COPY requirements/pip.txt requirements/pip.txt
|
|
COPY requirements/edx/testing.txt requirements/edx/testing.txt
|
|
COPY requirements/edx/django.txt requirements/edx/django.txt
|
|
RUN pip install -r requirements/pip.txt && \
|
|
pip install -r requirements/edx/testing.txt -r requirements/edx/django.txt
|
|
|
|
FROM base as runner
|
|
|
|
COPY --from=build /edx/app/edxapp/venvs/edxapp /edx/app/edxapp/venvs/edxapp
|
|
|
|
USER runner
|
|
|
|
CMD ["/entrypoint.sh"]
|