56d30612f3
This is to break our pip packages and install the latest pybitbucket. However, we may as well just update everything.
69 lines
2.2 KiB
Docker
69 lines
2.2 KiB
Docker
# vim:ft=dockerfile
|
|
|
|
FROM phusion/baseimage:0.9.17
|
|
|
|
ENV DEBIAN_FRONTEND noninteractive
|
|
ENV HOME /root
|
|
|
|
# Install the dependencies.
|
|
RUN apt-get update # 22DEC2015
|
|
|
|
# New ubuntu packages should be added as their own apt-get install lines below the existing install commands
|
|
RUN apt-get install -y git python-virtualenv python-dev libjpeg8 libjpeg62 libjpeg62-dev libevent-2.0.5 libevent-dev gdebi-core g++ libmagic1 phantomjs nodejs npm libldap-2.4-2 libldap2-dev libsasl2-modules libsasl2-dev libpq5 libpq-dev libfreetype6-dev libffi-dev libgpgme11 libgpgme11-dev
|
|
|
|
# Build the python dependencies
|
|
ADD requirements.txt requirements.txt
|
|
RUN virtualenv --distribute venv
|
|
RUN venv/bin/pip install -r requirements.txt
|
|
|
|
# Install the binary dependencies
|
|
ADD binary_dependencies binary_dependencies
|
|
RUN gdebi --n binary_dependencies/*.deb
|
|
|
|
# Install Grunt
|
|
RUN ln -s /usr/bin/nodejs /usr/bin/node
|
|
RUN npm install -g grunt-cli
|
|
|
|
# Install Grunt depenencies
|
|
ADD grunt grunt
|
|
RUN cd grunt && npm install
|
|
|
|
# Add all of the files!
|
|
ADD . .
|
|
|
|
# Run grunt
|
|
RUN cd grunt && grunt
|
|
|
|
RUN apt-get remove -y --auto-remove python-dev g++ libjpeg62-dev libevent-dev libldap2-dev libsasl2-dev libpq-dev libffi-dev libgpgme11-dev nodejs npm
|
|
RUN apt-get autoremove -y
|
|
RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
|
RUN rm -rf grunt
|
|
|
|
ADD conf/init/copy_config_files.sh /etc/my_init.d/
|
|
ADD conf/init/doupdatelimits.sh /etc/my_init.d/
|
|
ADD conf/init/copy_syslog_config.sh /etc/my_init.d/
|
|
ADD conf/init/runmigration.sh /etc/my_init.d/
|
|
ADD conf/init/syslog-ng.conf /etc/syslog-ng/
|
|
ADD conf/init/zz_boot.sh /etc/my_init.d/
|
|
|
|
ADD conf/init/service/ /etc/service/
|
|
|
|
RUN rm -rf /etc/service/syslog-forwarder
|
|
|
|
# Download any external libs.
|
|
RUN mkdir static/fonts static/ldn
|
|
RUN venv/bin/python -m external_libraries
|
|
RUN mkdir /usr/local/nginx/logs/
|
|
|
|
# TODO(ssewell): only works on a detached head, make work with ref
|
|
RUN cat .git/HEAD > GIT_HEAD
|
|
|
|
# Run the tests
|
|
RUN TEST=true venv/bin/python -m unittest discover -f
|
|
RUN TEST=true venv/bin/python -m test.registry_tests -f
|
|
|
|
RUN PYTHONPATH=. venv/bin/alembic heads | grep -E '^[0-9a-f]+ \(head\)$' > ALEMBIC_HEAD
|
|
|
|
VOLUME ["/conf/stack", "/var/log", "/datastorage", "/tmp", "/conf/etcd"]
|
|
|
|
EXPOSE 443 8443 80
|