blob: 37bd55b53f51387b2de7914126011eb95aa90bc6 [file] [log] [blame]
Tony Mackfa320442015-10-30 18:07:42 +00001FROM ubuntu:14.04.3
Tony Mack7c162e72015-10-30 15:22:20 +00002
Tony Mackfa320442015-10-30 18:07:42 +00003# 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
7RUN ln -s -f /bin/true /usr/bin/chfn
8# XXX End workaround
9
10# Install.
Tony Mack70b05da2015-10-31 18:34:35 +000011RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y \
Tony Macka06f1a92015-10-30 21:59:04 +000012 curl \
13 gcc \
14 geoip-database \
Tony Mack7c162e72015-10-30 15:22:20 +000015 git \
16 graphviz \
17 graphviz-dev \
Tony Macka06f1a92015-10-30 21:59:04 +000018 libgeoip1 \
Tony Mack7c162e72015-10-30 15:22:20 +000019 libxslt1.1 \
20 libxslt1-dev \
21 libyaml-dev \
Tony Macka06f1a92015-10-30 21:59:04 +000022 m4 \
Tony Mack7c162e72015-10-30 15:22:20 +000023 pkg-config \
Tony Macka06f1a92015-10-30 21:59:04 +000024 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 \
37 python-ceilometerclient
Tony Mack7c162e72015-10-30 15:22:20 +000038
Tony Macka06f1a92015-10-30 21:59:04 +000039RUN pip install -U \
Tony Mackfa320442015-10-30 18:07:42 +000040 django==1.7 \
41 django-bitfield \
42 django-crispy-forms \
43 django-encrypted-fields \
Tony Macka06f1a92015-10-30 21:59:04 +000044 django_evolution \
45 django-extensions \
Tony Mackfa320442015-10-30 18:07:42 +000046 django-filter \
47 django-geoposition \
48 django-ipware \
49 django_rest_swagger \
50 django-suit \
51 django-timezones \
52 djangorestframework==2.4.4 \
Tony Macka06f1a92015-10-30 21:59:04 +000053 dnslib \
54 google_api_python_client \
55 httplib2 \
56 httplib2.ca_certs_locater \
Tony Mackfa320442015-10-30 18:07:42 +000057 lxml \
58 markdown \
59 netaddr \
60 python-dateutil \
Tony Macka06f1a92015-10-30 21:59:04 +000061 python_gflags \
Tony Mackfa320442015-10-30 18:07:42 +000062 python-keyczar \
Tony Macka06f1a92015-10-30 21:59:04 +000063 pygraphviz \
Tony Mackfa320442015-10-30 18:07:42 +000064 pytz \
65 pyyaml \
66 requests
Tony Mack7c162e72015-10-30 15:22:20 +000067
Tony Mackd7fafe62015-10-31 19:06:58 +000068ADD http://code.jquery.com/jquery-1.9.1.min.js /usr/local/lib/python2.7/dist-packages/suit/static/suit/js/
69
Tony Macka06f1a92015-10-30 21:59:04 +000070# Install XOS
Tony Mackd7fafe62015-10-31 19:06:58 +000071RUN git clone git://github.com/open-cloud/xos.git /tmp/xos && \
72 mv /tmp/xos/xos /opt/ && \
73 chmod +x /opt/xos/scripts/opencloud && \
74 /opt/xos/scripts/opencloud genkeys
Tony Mackfa320442015-10-30 18:07:42 +000075
Tony Macka06f1a92015-10-30 21:59:04 +000076# install Tosca engine
77RUN bash /opt/xos/tosca/install_tosca.sh
Tony Mackfa320442015-10-30 18:07:42 +000078
Tony Mackfa320442015-10-30 18:07:42 +000079EXPOSE 8000
80
81# Set environment variables.
82ENV HOME /root
83
84# Define working directory.
85WORKDIR /root
86
87# Define default command.
Tony Macka06f1a92015-10-30 21:59:04 +000088CMD python /opt/xos/manage.py runserver 0.0.0.0:8000 --insecure