From 0729a4454b22ebd37dee6904f3f1284d29083e23 Mon Sep 17 00:00:00 2001 From: MrMeeb Date: Mon, 3 Jul 2023 22:46:41 +0000 Subject: [PATCH] add ssl compatibility --- Dockerfile | 3 ++- root/cronicle-prepare.sh | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 02f7328..42531fb 100644 --- a/Dockerfile +++ b/Dockerfile @@ -23,7 +23,7 @@ ENV TZ=UTC ENV LOG_LEVEL=9 #Get required packages -RUN apk update && apk add tzdata curl shadow bash xz git procps nodejs npm nano +RUN apk update && apk add tzdata curl shadow bash xz git procps nodejs npm nano openssl #Make folders RUN mkdir /config && \ @@ -57,5 +57,6 @@ RUN chmod +x /cronicle-prepare.sh && \ chown -R ${PUID}:${PGID} /app /config EXPOSE 3012 +EXPOSE 3013 ENTRYPOINT [ "/init" ] \ No newline at end of file diff --git a/root/cronicle-prepare.sh b/root/cronicle-prepare.sh index 699fae4..451d9b3 100644 --- a/root/cronicle-prepare.sh +++ b/root/cronicle-prepare.sh @@ -28,9 +28,11 @@ fi if [ ! -d /config/cronicle ] then + echo "Directory /config/cronicle not found. Creating." mkdir /config/cronicle + fi #Detecting what mode Cronicle should be started in @@ -48,15 +50,27 @@ then cp -r /app/cronicle/conf /config/cronicle/conf rm -rf /app/cronicle/conf ln -s /config/cronicle/conf /app/cronicle/conf + else echo "Config dir already exists. Doesn't need creating." echo "Linking persistent config dir back into Cronicle." + rm -rf /app/cronicle/conf ln -s /config/cronicle/conf /app/cronicle/conf fi + if [ ! -f /config/cronicle/conf/ssl.crt ] || [ ! -f /config/cronicle/conf/ssl.key ] + then + + echo "One or both SSL components are missing. Generating." + + rm -f /config/cronicle/conf/ssl.crt /config/cronicle/conf/ssl.key + openssl req -x509 -newkey rsa:4096 -keyout /config/cronicle/conf/ssl.key -out /config/cronicle/conf/ssl.crt -sha256 -days 3650 -nodes -subj "/C=XX/ST=StateName/L=CityName/O=CompanyName/OU=CompanySectionName/CN=CommonNameOrHostname" + + fi + if [ ! -f /config/cronicle/data/.setup_done ] then @@ -88,6 +102,8 @@ then then echo "No config found. Copy config.json from the manager server and place it in /config/cronicle/conf dir." + echo "Don't forget to also copy the SSL certs if you're using SSL." + mkdir -p /config/cronicle/conf exit 0 @@ -114,10 +130,12 @@ then cp -r /app/cronicle/logs /config/cronicle/logs rm -rf /app/cronicle/logs ln -s /config/cronicle/logs /app/cronicle/logs + else echo "Logs dir already exists. Doesn't need creating." echo "Linking persistent logs dir back into Cronicle." + rm -rf /app/cronicle/logs ln -s /config/cronicle/logs /app/cronicle/logs