blob: f187c6a4054c124623d277b938933b4b9510bd3f [file] [log] [blame]
FROM python:2.7.11
# XXX Workaround for docker bug:
# https://github.com/docker/docker/issues/6345
# Kernel 3.15 breaks docker, uss the line below as a workaround
# until there is a fix
RUN ln -s -f /bin/true /usr/bin/chfn
# XXX End workaround
# Install.
RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y \
curl \
gcc \
geoip-database \
git \
graphviz \
graphviz-dev \
libgeoip1 \
libxslt1.1 \
libxslt1-dev \
libyaml-dev \
m4 \
pkg-config \
python-dev \
python-httplib2 \
python-pip \
python-psycopg2 \
python-pycurl \
python-setuptools \
tar \
wget \
##### observer dependencies
python-keystoneclient \
python-novaclient \
python-neutronclient \
python-glanceclient \
python-ceilometerclient \
openvpn
RUN pip install \
django==1.7 \
django-bitfield \
django-crispy-forms \
django-encrypted-fields \
django-extensions \
django-filter==0.11.0 \
django-geoposition \
django-ipware \
django_rest_swagger \
django-suit==0.3a1 \
django-timezones \
djangorestframework==2.4.4 \
dnslib \
lxml \
markdown \
netaddr \
pyOpenSSL \
psycopg2 \
python-ceilometerclient \
python-dateutil \
python-keyczar \
pygraphviz \
pytz \
pyyaml \
requests
RUN easy_install --upgrade httplib2
RUN easy_install \
python_gflags \
google_api_python_client \
httplib2.ca_certs_locater
ADD http://code.jquery.com/jquery-1.9.1.min.js /usr/local/lib/python2.7/site-packages/suit/static/suit/js/
# Install XOS
ADD xos /opt/xos
RUN chmod +x /opt/xos/tools/xos-manage
RUN /opt/xos/tools/xos-manage genkeys
# install Tosca engine
RUN chmod +x /opt/xos/tosca/run.py
RUN bash /opt/xos/tosca/install_tosca.sh
EXPOSE 8000
# Set environment variables.
ENV HOME /root
ENV PYTHONPATH /usr/local/lib/python2.7/site-packages:/usr/lib/python2.7/dist-packages
# Define working directory.
WORKDIR /opt/xos
# Define default command.
CMD update-ca-certificates && python manage.py runserver 0.0.0.0:8000 --insecure
# for OpenVPN
RUN openssl
RUN mkdir -p /opt/openvpn
RUN cp -r /usr/share/easy-rsa/* /opt/openvpn/
ENV EASY_RSA /opt/openvpn
ENV OPENSSL openssl
ENV PKCS11TOOL pkcs11-tool
ENV GREP grep
ENV KEY_CONFIG `$EASY_RSA/whichopensslcnf $EASY_RSA`
ENV KEY_DIR $EASY_RSA/keys
ENV PKCS11_MODULE_PATH dummy
ENV PKCS11_PIN dummy
ENV KEY_SIZE 2048
ENV CA_EXPIRE 3650
ENV KEY_EXPIRE 3650
ENV KEY_COUNTRY US
ENV KEY_PROVINCE AZ
ENV KEY_CITY Tucson
ENV KEY_ORG XOS
ENV KEY_EMAIL devel@xosproject.org
ENV KEY_OU Development
ENV KEY_NAME server
RUN /opt/openvpn/clean-all
RUN /opt/openvpn/build-ca --batch
RUN /opt/openvpn/build-key-server --batch server
RUN /opt/openvpn/build-dh
RUN chmod 777 /opt/openvpn/keys/server.key
RUN chmod 777 /opt/openvpn/keys/dh2048.pem