Skip to content

Commit

Permalink
Docker File Working as expected
Browse files Browse the repository at this point in the history
  • Loading branch information
Raul Hidalgo Caballero committed Dec 4, 2016
1 parent c2094e6 commit 59e04d6
Showing 1 changed file with 23 additions and 43 deletions.
66 changes: 23 additions & 43 deletions 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"]

0 comments on commit 59e04d6

Please sign in to comment.