diff --git a/Dockerfile b/Dockerfile index 3ed6110ab2e..c9f10fc6790 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,63 +1,43 @@ -FROM phusion/baseimage:0.9.15 +FROM debian:jessie MAINTAINER Open Knowledge -# Disable SSH -RUN rm -rf /etc/service/sshd /etc/my_init.d/00_regen_ssh_host_keys.sh - -ENV HOME /root ENV CKAN_HOME /usr/lib/ckan/default ENV CKAN_CONFIG /etc/ckan/default ENV CKAN_DATA /var/lib/ckan +# docker run -d -p 80:5000 --link db:db --link redis:redis --link solr:solr ckan + # Install required packages -RUN apt-get -q -y update && \ - DEBIAN_FRONTEND=noninteractive apt-get -q -y install \ - python-minimal \ - python-dev \ +RUN apt-get -q -y update && apt-get -q -y upgrade && DEBIAN_FRONTEND=noninteractive apt-get -q -y install \ + python-dev \ + python-pip \ python-virtualenv \ - libevent-dev \ libpq-dev \ - nginx-light \ - apache2 \ - libapache2-mod-wsgi \ - postfix \ - build-essential && \ - apt-get clean && \ - rm -rf /var/lib/apt/lists/* - -# Install CKAN -RUN virtualenv $CKAN_HOME + git-core \ + && apt-get -q clean + +# SetUp Virtual Environment CKAN RUN mkdir -p $CKAN_HOME $CKAN_CONFIG $CKAN_DATA -RUN chown www-data:www-data $CKAN_DATA +RUN virtualenv $CKAN_HOME +RUN ln -s $CKAN_HOME/bin/pip /usr/local/bin/ckan-pip +RUN ln -s $CKAN_HOME/bin/paster /usr/local/bin/ckan-paster +# SetUp Requirements ADD ./requirements.txt $CKAN_HOME/src/ckan/requirements.txt -RUN $CKAN_HOME/bin/pip install -r $CKAN_HOME/src/ckan/requirements.txt +RUN ckan-pip install --upgrade -r $CKAN_HOME/src/ckan/requirements.txt + +# SetUp CKAN ADD . $CKAN_HOME/src/ckan/ -RUN $CKAN_HOME/bin/pip install -e $CKAN_HOME/src/ckan/ +RUN ckan-pip install -e $CKAN_HOME/src/ckan/ RUN ln -s $CKAN_HOME/src/ckan/ckan/config/who.ini $CKAN_CONFIG/who.ini -ADD ./contrib/docker/apache.wsgi $CKAN_CONFIG/apache.wsgi - -# Configure apache -ADD ./contrib/docker/apache.conf /etc/apache2/sites-available/ckan_default.conf -RUN echo "Listen 8080" > /etc/apache2/ports.conf -RUN a2ensite ckan_default -RUN a2dissite 000-default - -# Configure nginx -ADD ./contrib/docker/nginx.conf /etc/nginx/nginx.conf -RUN mkdir /var/cache/nginx - -# Configure postfix -ADD ./contrib/docker/main.cf /etc/postfix/main.cf -# Configure runit -ADD ./contrib/docker/my_init.d /etc/my_init.d -ADD ./contrib/docker/svc /etc/service -CMD ["/sbin/my_init"] +# SetUp EntryPoint +COPY ./contrib/docker/ckan-entrypoint.sh /usr/local/bin/ +ENTRYPOINT ["ckan-entrypoint.sh"] # Volumes VOLUME ["/etc/ckan/default"] VOLUME ["/var/lib/ckan"] -EXPOSE 80 +EXPOSE 5000 -RUN rm -rf /tmp/* /var/tmp/* +CMD ["ckan-paster","serve","/etc/ckan/default/ckan.ini"]