6
0
mirror of https://github.com/ChristianLight/tutor.git synced 2024-12-15 23:30:46 +00:00
tutor/lms/Dockerfile
Régis Behmo 12e08d7c5d Simplify migrations and static collection
Migrations and static assets collection are no longer performed every
time we build an image. Instead, they are run on command.
2017-07-23 19:27:25 +02:00

57 lines
1.9 KiB
Docker

FROM ubuntu:16.04
# Install system requirements
RUN apt update
RUN apt upgrade -y
# Global requirements
RUN apt install -y language-pack-en git python-virtualenv build-essential software-properties-common curl git-core libxml2-dev libxslt1-dev python-pip libmysqlclient-dev python-apt python-dev libxmlsec1-dev libfreetype6-dev swig gcc g++
# lms requirements
RUN apt install -y gettext gfortran graphviz graphviz-dev libffi-dev libfreetype6-dev libgeos-dev libjpeg8-dev liblapack-dev libpng12-dev libxml2-dev libxmlsec1-dev libxslt1-dev nodejs npm ntp pkg-config
# Install symlink so that we have access to 'node' binary without virtualenv.
# This replaces the "nodeenv" install.
RUN apt install -y nodejs-legacy
# Create necessary folders
RUN mkdir /openedx
RUN mkdir /openedx/data
RUN mkdir /openedx/logs
RUN mkdir /openedx/uploads
RUN mkdir /openedx/staticfiles
VOLUME /openedx/data
VOLUME /openedx/logs
VOLUME /openedx/staticfiles
VOLUME /openedx/uploads
WORKDIR /openedx
# Checkout edx-platform code
RUN git clone https://github.com/edx/edx-platform.git
WORKDIR /openedx/edx-platform
RUN git checkout open-release/ficus.master
# Install python requirements
RUN pip install pip==8.1.2
RUN pip install setuptools==24.0.3
RUN pip install -r requirements/edx/pre.txt
RUN pip install -r requirements/edx/github.txt
RUN pip install -r requirements/edx/local.txt
RUN pip install -r requirements/edx/base.txt
RUN pip install -r requirements/edx/post.txt
RUN pip install -r requirements/edx/paver.txt
# Finish requirements install
RUN paver install_prereqs
# Copy configuration files
COPY ./config/lms.env.json /openedx/
COPY ./config/lms.auth.json /openedx/
COPY ./config/production.py /openedx/edx-platform/lms/envs/
# Configure environment
ENV DJANGO_SETTINGS_MODULE lms.envs.production
ENV SERVICE_VARIANT lms
# Run server
EXPOSE 8000
CMD gunicorn --name lms --bind=0.0.0.0:8000 --max-requests=1000 lms.wsgi:application