# 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
+# Create directories within the volume, if they do not already exist.
+mkdir -p /citadel-data 2>/dev/null
+mkdir -p /citadel-data/data 2>/dev/null
+mkdir -p /citadel-data/files 2>/dev/null
+mkdir -p /citadel-data/keys 2>/dev/null
-exec supervisor
+# Create symlinks into the volume subdirectories, from where our programs expect them to be.
+ln -sfv /citadel-data/data /usr/local/citadel/
+ln -sfv /citadel-data/files /usr/local/citadel/
+ln -sfv /citadel-data/keys /usr/local/citadel/
+ln -sfv /citadel-data/keys /usr/local/webcit/
+
+# supervisord will take it from here.
+exec /usr/bin/supervisord -c /etc/supervisor.conf