more tuning to startup scripts
authorArt Cancro <ajc@citadel.org>
Thu, 17 Oct 2019 12:51:27 +0000 (08:51 -0400)
committerArt Cancro <ajc@citadel.org>
Thu, 17 Oct 2019 12:51:27 +0000 (08:51 -0400)
Dockerfile
citadel-docker-startup.sh

index 71bb53660eb225dfd37c6e314486d0f821f7ff94..38711f29ad96a0dfc17e8e79f7c9641af124a295 100644 (file)
@@ -15,27 +15,16 @@ RUN sh -c 'cd /tmp/ctdl_build/citadel/libcitadel && ./bootstrap && ./configure -
 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 'cd / && rm -vfr /tmp/ctdl_build'
+RUN sh -c 'cd /tmp && rm -vfr /tmp/ctdl_build'
 RUN sh -c 'rm -vrf /usr/local/citadel/data /usr/local/citadel/files /usr/local/citadel/keys /usr/local/webcit/keys'
 
 # Supervisor
 ADD supervisor.conf /etc/
 ADD citadel-docker-startup.sh /usr/local/bin/
+RUN sh -c 'chmod 755 /usr/local/bin/citadel-docker-startup.sh'
 
 # Ports
-EXPOSE 25/tcp
-EXPOSE 80/tcp
-EXPOSE 110/tcp
-EXPOSE 119/tcp
-EXPOSE 143/tcp
-EXPOSE 443/tcp
-EXPOSE 465/tcp
-EXPOSE 504/tcp
-EXPOSE 563/tcp
-EXPOSE 587/tcp
-EXPOSE 993/tcp
-EXPOSE 995/tcp
-EXPOSE 2020/tcp
-EXPOSE 5222/tcp
+EXPOSE 25 80 110 119 143 443 465 504 563 587 993 995 2020 5222
 
+# Let's go!
 CMD /usr/local/bin/citadel-docker-startup.sh
index 64d63871e0f4b385f6dc20fa0923558150a87a90..b9558e6e8f391048fc0da20eee4301ff606b004e 100755 (executable)
@@ -2,18 +2,17 @@
 
 # This is the script that is run when the Citadel Docker Container starts up.
 
+# 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
 
-# Any of these can fail, since they may already exist
-mkdir /citadel-data
-mkdir -p /citadel-data/data
-mkdir -p /citadel-data/files
-mkdir -p /citadel-data/keys
+# 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/
 
-# Now create the links
-ln -sfv /citadel-data/data /usr/local/citadel/data
-ln -sfv /citadel-data/files /usr/local/citadel/files
-ln -sfv /citadel-data/keys /usr/local/citadel/keys
-ln -sfv /citadel-data/keys /usr/local/webcit/keys
-
-# supervisord will take it from here
-exec supervisor
+# supervisord will take it from here.
+exec /usr/bin/supervisord -c /etc/supervisor.conf