# Docker file for catlfish merge.
#
# NOTE: The directory on the host system that's mounted at
# /var/local/db/catlfish-merge in the container has to be writable by
# a host user with uid 147.
# 
# $ docker run \
#	-v /etc/catlfish:/usr/local/etc/catlfish:ro \
#	-v /var/local/db/catlfish-merge:/var/local/db/catlfish-merge \
#	catlfish-merge

FROM erlang
RUN apt-get update
RUN echo 'debconf debconf/frontend select noninteractive' | debconf-set-selections
RUN apt-get -y -q install git python-ecdsa python-yaml

WORKDIR /usr/local/src
RUN git clone https://git.nordu.net/catlfish.git

# Config dir and database dir are mounted from host using `-v' to
# 'docker run'.
VOLUME /usr/local/etc/catlfish
VOLUME /var/local/db/catlfish-merge

# Copy merge.sh.
RUN mkdir -p /usr/local/catlfish/bin
ADD merge.sh /usr/local/catlfish/bin/

# Create a catlfish user.
RUN groupadd --gid 147 catlfish
RUN useradd --uid 147 --gid 147 catlfish

# We run from /var/run/catlfish.
RUN mkdir -p /var/run/catlfish/supervisord_log
RUN chown -R catlfish:catlfish /var/run/catlfish
WORKDIR /var/run/catlfish

# Run supervisord.
ADD supervisord.conf /etc/supervisor/
USER catlfish
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]