FROM bitnami/minideb:latest
-VOLUME /usr/local/citadel/data /usr/local/citadel/files /usr/local/citadel/keys
+VOLUME /citadel-data
# Install prerequisites
RUN install_packages make build-essential zlib1g-dev libldap2-dev libssl-dev gettext libical-dev libexpat1-dev curl libcurl4-openssl-dev git autoconf automake netbase supervisor
RUN sh -c 'cd /tmp/ctdl_build/citadel/citadel && ./bootstrap && ./configure && make && make install'
RUN sh -c 'cd /tmp/ctdl_build/citadel/webcit && ./bootstrap && ./configure && make && make install'
RUN sh -c 'cd /tmp/ctdl_build/citadel/textclient && ./bootstrap && ./configure --prefix=/usr && make && make install'
-RUN sh -c 'ln -sfv /usr/local/citadel/keys /usr/local/webcit/keys'
+RUN sh -c 'cd / && rm vfr /tmp/ctdl_build'
# Supervisor
ADD supervisor.conf /etc/
+ADD citadel-docker-startup.sh /usr/local/bin/
# Ports
EXPOSE 25/tcp
EXPOSE 2020/tcp
EXPOSE 5222/tcp
-CMD ["supervisord", "-c", "/etc/supervisor.conf"]
+CMD /usr/local/bin/citadel-docker-startup.sh
+++ /dev/null
-#!/bin/sh
-
-apk add \
- gcc git libcurl curl-dev make automake autoconf openssl openssl-dev \
- alpine-sdk zlib zlib-dev libical-dev expat expat-dev
-
-cd /tmp/ctdl_build || exit 1
-
-git clone git://git.citadel.org/appl/gitroot/citadel.git
-
-cd /tmp/ctdl_build/citadel/libcitadel
-./bootstrap
-./configure
-make
-make install
-
-cd /tmp/ctdl_build/citadel/citadel
-./bootstrap
-./configure
-make
-make install
-
--- /dev/null
+#!/bin/bash
+
+# This is the script that is run when the Citadel Docker Container starts up.
+
+mkdir /citadel-data
+mkdir -p /citadel-data/data && rm -vfr /usr/local/citadel/data && ln -sfv /citadel-data/data /usr/local/citadel/data
+mkdir -p /citadel-data/files && rm -vfr /usr/local/citadel/files && ln -sfv /citadel-data/files /usr/local/citadel/files
+mkdir -p /citadel-data/keys && rm -vfr /usr/local/citadel/keys && ln -sfv /citadel-data/keys /usr/local/citadel/keys
+rmdir -v /usr/local/webcit/keys && ln -sfv /citadel-data/keys /usr/local/webcit/keys
+
+exec supervisor
docker run \
--name citadel \
- -v citadel-data:/usr/local/citadel/data \
- -v citadel-files:/usr/local/citadel/files \
- -v citadel-keys:/usr/local/citadel/keys \
+ -v citadel-data:/citadel-data \
-d \
$1