add ssl compatibility
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
MrMeeb 2023-07-03 22:46:41 +00:00
parent a123d0fecd
commit 0729a4454b
2 changed files with 20 additions and 1 deletions

View File

@ -23,7 +23,7 @@ ENV TZ=UTC
ENV LOG_LEVEL=9 ENV LOG_LEVEL=9
#Get required packages #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 #Make folders
RUN mkdir /config && \ RUN mkdir /config && \
@ -57,5 +57,6 @@ RUN chmod +x /cronicle-prepare.sh && \
chown -R ${PUID}:${PGID} /app /config chown -R ${PUID}:${PGID} /app /config
EXPOSE 3012 EXPOSE 3012
EXPOSE 3013
ENTRYPOINT [ "/init" ] ENTRYPOINT [ "/init" ]

View File

@ -28,9 +28,11 @@ fi
if [ ! -d /config/cronicle ] if [ ! -d /config/cronicle ]
then then
echo "Directory /config/cronicle not found. Creating." echo "Directory /config/cronicle not found. Creating."
mkdir /config/cronicle mkdir /config/cronicle
fi fi
#Detecting what mode Cronicle should be started in #Detecting what mode Cronicle should be started in
@ -48,15 +50,27 @@ then
cp -r /app/cronicle/conf /config/cronicle/conf cp -r /app/cronicle/conf /config/cronicle/conf
rm -rf /app/cronicle/conf rm -rf /app/cronicle/conf
ln -s /config/cronicle/conf /app/cronicle/conf ln -s /config/cronicle/conf /app/cronicle/conf
else else
echo "Config dir already exists. Doesn't need creating." echo "Config dir already exists. Doesn't need creating."
echo "Linking persistent config dir back into Cronicle." echo "Linking persistent config dir back into Cronicle."
rm -rf /app/cronicle/conf rm -rf /app/cronicle/conf
ln -s /config/cronicle/conf /app/cronicle/conf ln -s /config/cronicle/conf /app/cronicle/conf
fi 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 ] if [ ! -f /config/cronicle/data/.setup_done ]
then then
@ -88,6 +102,8 @@ then
then then
echo "No config found. Copy config.json from the manager server and place it in /config/cronicle/conf dir." 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 mkdir -p /config/cronicle/conf
exit 0 exit 0
@ -114,10 +130,12 @@ then
cp -r /app/cronicle/logs /config/cronicle/logs cp -r /app/cronicle/logs /config/cronicle/logs
rm -rf /app/cronicle/logs rm -rf /app/cronicle/logs
ln -s /config/cronicle/logs /app/cronicle/logs ln -s /config/cronicle/logs /app/cronicle/logs
else else
echo "Logs dir already exists. Doesn't need creating." echo "Logs dir already exists. Doesn't need creating."
echo "Linking persistent logs dir back into Cronicle." echo "Linking persistent logs dir back into Cronicle."
rm -rf /app/cronicle/logs rm -rf /app/cronicle/logs
ln -s /config/cronicle/logs /app/cronicle/logs ln -s /config/cronicle/logs /app/cronicle/logs