Andy Bavier | a54e955 | 2016-01-28 13:07:56 -0500 | [diff] [blame] | 1 | FROM ubuntu:14.04.3 |
Andy Bavier | beef3fb | 2016-01-06 16:40:00 -0500 | [diff] [blame] | 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 \ |
| 32 | ##### observer dependencies |
| 33 | python-keystoneclient \ |
| 34 | python-novaclient \ |
| 35 | python-neutronclient \ |
| 36 | python-glanceclient \ |
Jeremy Mowery | c8843ab | 2016-04-16 12:21:04 -0700 | [diff] [blame] | 37 | python-ceilometerclient |
Andy Bavier | beef3fb | 2016-01-06 16:40:00 -0500 | [diff] [blame] | 38 | |
| 39 | RUN pip install \ |
| 40 | django==1.7 \ |
| 41 | django-bitfield \ |
| 42 | django-crispy-forms \ |
| 43 | django-encrypted-fields \ |
| 44 | django-extensions \ |
Andy Bavier | 0621777 | 2016-01-10 21:35:56 -0500 | [diff] [blame] | 45 | django-filter==0.11.0 \ |
Andy Bavier | beef3fb | 2016-01-06 16:40:00 -0500 | [diff] [blame] | 46 | django-geoposition \ |
| 47 | django-ipware \ |
| 48 | django_rest_swagger \ |
| 49 | django-suit==0.3a1 \ |
| 50 | django-timezones \ |
Scott Baker | a8b3863 | 2016-03-29 13:37:48 -0700 | [diff] [blame] | 51 | djangorestframework==3.3.3 \ |
Andy Bavier | beef3fb | 2016-01-06 16:40:00 -0500 | [diff] [blame] | 52 | dnslib \ |
Jeremy Mowery | a7ae802 | 2016-04-21 21:35:09 -0700 | [diff] [blame] | 53 | jinja2 \ |
Andy Bavier | beef3fb | 2016-01-06 16:40:00 -0500 | [diff] [blame] | 54 | lxml \ |
| 55 | markdown \ |
| 56 | netaddr \ |
| 57 | pyOpenSSL \ |
| 58 | psycopg2 \ |
| 59 | python-ceilometerclient \ |
| 60 | python-dateutil \ |
| 61 | python-keyczar \ |
Andy Bavier | 42dabe0 | 2016-04-06 14:23:02 -0400 | [diff] [blame] | 62 | python-logstash \ |
Andy Bavier | beef3fb | 2016-01-06 16:40:00 -0500 | [diff] [blame] | 63 | pygraphviz \ |
| 64 | pytz \ |
| 65 | pyyaml \ |
| 66 | requests |
| 67 | |
| 68 | RUN easy_install --upgrade httplib2 |
| 69 | |
| 70 | RUN easy_install \ |
| 71 | python_gflags \ |
| 72 | google_api_python_client \ |
| 73 | httplib2.ca_certs_locater |
| 74 | |
Andy Bavier | a54e955 | 2016-01-28 13:07:56 -0500 | [diff] [blame] | 75 | ADD http://code.jquery.com/jquery-1.9.1.min.js /usr/local/lib/python2.7/dist-packages/suit/static/suit/js/ |
Andy Bavier | beef3fb | 2016-01-06 16:40:00 -0500 | [diff] [blame] | 76 | |
| 77 | # Install XOS |
| 78 | ADD xos /opt/xos |
Scott Baker | 0e1a056 | 2016-01-14 09:38:34 -0800 | [diff] [blame] | 79 | RUN chmod +x /opt/xos/tools/xos-manage |
| 80 | RUN /opt/xos/tools/xos-manage genkeys |
Andy Bavier | beef3fb | 2016-01-06 16:40:00 -0500 | [diff] [blame] | 81 | |
| 82 | # install Tosca engine |
| 83 | RUN chmod +x /opt/xos/tosca/run.py |
| 84 | RUN bash /opt/xos/tosca/install_tosca.sh |
| 85 | |
| 86 | EXPOSE 8000 |
| 87 | |
| 88 | # Set environment variables. |
| 89 | ENV HOME /root |
Andy Bavier | beef3fb | 2016-01-06 16:40:00 -0500 | [diff] [blame] | 90 | |
| 91 | # Define working directory. |
| 92 | WORKDIR /opt/xos |
| 93 | |
| 94 | # Define default command. |
Andy Bavier | a54e955 | 2016-01-28 13:07:56 -0500 | [diff] [blame] | 95 | CMD update-ca-certificates && python /opt/xos/manage.py runserver 0.0.0.0:8000 --insecure --makemigrations |