David K. Bainbridge | fe8bfcd | 2015-12-03 22:12:06 -0800 | [diff] [blame] | 1 | FROM ubuntu:14.04.3 |
| 2 | |
| 3 | # XXX Workaround for docker bug: |
| 4 | # https://github.com/docker/docker/issues/6345 |
| 5 | # Kernel 3.15 breaks docker, uss the line below as a workaround |
| 6 | # until there is a fix |
| 7 | RUN ln -s -f /bin/true /usr/bin/chfn |
| 8 | # XXX End workaround |
| 9 | |
| 10 | # Install. |
| 11 | RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y \ |
| 12 | curl \ |
| 13 | gcc \ |
| 14 | geoip-database \ |
| 15 | git \ |
| 16 | graphviz \ |
| 17 | graphviz-dev \ |
| 18 | libgeoip1 \ |
| 19 | libxslt1.1 \ |
| 20 | libxslt1-dev \ |
| 21 | libyaml-dev \ |
| 22 | m4 \ |
| 23 | pkg-config \ |
| 24 | python-dev \ |
| 25 | python-httplib2 \ |
| 26 | python-pip \ |
| 27 | python-psycopg2 \ |
| 28 | python-pycurl \ |
| 29 | python-setuptools \ |
| 30 | tar \ |
| 31 | wget \ |
Andy Bavier | 4d09631 | 2016-01-04 10:06:29 -0500 | [diff] [blame] | 32 | ##### observer dependencies |
David K. Bainbridge | fe8bfcd | 2015-12-03 22:12:06 -0800 | [diff] [blame] | 33 | python-keystoneclient \ |
| 34 | python-novaclient \ |
| 35 | python-neutronclient \ |
| 36 | python-glanceclient \ |
| 37 | python-ceilometerclient |
| 38 | |
| 39 | RUN pip install -U \ |
| 40 | django==1.7 \ |
| 41 | django-bitfield \ |
| 42 | django-crispy-forms \ |
| 43 | django-encrypted-fields \ |
| 44 | django_evolution \ |
| 45 | django-extensions \ |
Andy Bavier | 92e548d | 2016-01-08 10:42:00 -0500 | [diff] [blame] | 46 | django-filter==0.11.0 \ |
David K. Bainbridge | fe8bfcd | 2015-12-03 22:12:06 -0800 | [diff] [blame] | 47 | django-geoposition \ |
| 48 | django-ipware \ |
| 49 | django_rest_swagger \ |
David K. Bainbridge | f25c039 | 2015-12-09 09:55:59 -0800 | [diff] [blame] | 50 | django-suit==0.3a1 \ |
David K. Bainbridge | fe8bfcd | 2015-12-03 22:12:06 -0800 | [diff] [blame] | 51 | django-timezones \ |
| 52 | djangorestframework==2.4.4 \ |
| 53 | dnslib \ |
| 54 | google_api_python_client \ |
| 55 | httplib2 \ |
| 56 | httplib2.ca_certs_locater \ |
Andy Bavier | 4d09631 | 2016-01-04 10:06:29 -0500 | [diff] [blame] | 57 | lxml \ |
David K. Bainbridge | fe8bfcd | 2015-12-03 22:12:06 -0800 | [diff] [blame] | 58 | markdown \ |
| 59 | netaddr \ |
| 60 | python-dateutil \ |
| 61 | python_gflags \ |
| 62 | python-keyczar \ |
| 63 | pygraphviz \ |
| 64 | pytz \ |
| 65 | pyyaml \ |
| 66 | requests |
| 67 | |
Andy Bavier | 4d09631 | 2016-01-04 10:06:29 -0500 | [diff] [blame] | 68 | ADD http://code.jquery.com/jquery-1.9.1.min.js /usr/local/lib/python2.7/site-packages/suit/static/suit/js/ |
David K. Bainbridge | fe8bfcd | 2015-12-03 22:12:06 -0800 | [diff] [blame] | 69 | |
| 70 | # Install XOS |
| 71 | RUN git clone XOS_GIT_REPO -b XOS_GIT_BRANCH /tmp/xos && \ |
| 72 | mv /tmp/xos/xos /opt/ && \ |
| 73 | chmod +x /opt/xos/scripts/opencloud && \ |
| 74 | /opt/xos/scripts/opencloud genkeys |
| 75 | |
| 76 | # install Tosca engine |
| 77 | RUN bash /opt/xos/tosca/install_tosca.sh |
| 78 | |
| 79 | EXPOSE 8000 |
| 80 | |
| 81 | # Set environment variables. |
| 82 | ENV HOME /root |
Andy Bavier | 418c989 | 2016-01-05 09:51:29 -0500 | [diff] [blame] | 83 | ENV PYTHONPATH /usr/local/lib/python2.7/site-packages:/usr/lib/python2.7/dist-packages |
David K. Bainbridge | fe8bfcd | 2015-12-03 22:12:06 -0800 | [diff] [blame] | 84 | |
| 85 | # Define working directory. |
| 86 | WORKDIR /root |
| 87 | |
| 88 | # Define default command. |
| 89 | CMD python /opt/xos/manage.py runserver 0.0.0.0:8000 --insecure |