diff --git a/Dockerfile b/Dockerfile index 2cd1f03..b94bc91 100644 --- a/Dockerfile +++ b/Dockerfile @@ -17,12 +17,14 @@ COPY default.conf.template /etc/nginx/templates/default.conf.template WORKDIR /usr/share/nginx/html RUN apk --no-cache add nodejs npm bash dumb-init git && \ - rm -rf /var/cache/apk/* + rm -rf /var/cache/apk/* && \ + echo "*/5 * * * * cd /usr/share/nginx/html/content && git pull >/dev/null 2>&1 && cd /usr/share/nginx/html && npx quartz build >/dev/null 2>&1" > /etc/crontabs/root RUN ln -s /usr/share/nginx/html/content / && \ chown -R nginx:nginx /usr/share/nginx/html && \ chown -R nginx:nginx /usr/share/nginx/html/content +ENV BUILD_SCHEDULE="*/5 * * * *" ENV NGINX_PORT=80 ENV BASE_URL="quartz.zhao.xyz" ENV PAGE_TITLE="Quartz Docker" diff --git a/docker-compose.yml b/docker-compose.yml index 1f25536..76d4b41 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -6,6 +6,8 @@ services: - 80:8080 environment: NGINX_PORT: 8080 + ENABLE_CRON: "false" + BUILD_SCHEDULE: "*/10 * * * *" PAGE_TITLE: "Quartz Docker" ENABLE_SPA: "true" ENABLE_POPOVERS: "true" diff --git a/entrypoint.sh b/entrypoint.sh index 9883989..7aaa527 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -18,6 +18,7 @@ replace_text() { # Modify a temporary file instead of the original sed -e "s|${search}|${replace}|g" "$CONFIG_FILE" >"$TEMP_FILE" && mv "$TEMP_FILE" "$CONFIG_FILE" } + # Quartz Config replace_text 'pageTitle: "🪴 Quartz 4.0",' "pageTitle: \"${PAGE_TITLE}\"," replace_text 'enableSPA: true,' "enableSPA: ${ENABLE_SPA}," @@ -46,9 +47,17 @@ replace_text 'tertiary: "#84a59d",' "tertiary: \"${DARKMODE_TERTIARY}\"," replace_text 'highlight: "rgba(143, 159, 169, 0.15)",' "highlight: \"${DARKMODE_HIGHLIGHT}\"," chown nginx:nginx "$CONFIG_FILE" +echo "${BUILD_SCHEDULE} cd /usr/share/nginx/html/content && git pull >/dev/null 2>&1 && cd /usr/share/nginx/html && npx quartz build >/dev/null 2>&1" >/etc/crontabs/root + # NGINX script to sub variables in the template /docker-entrypoint.d/20-envsubst-on-templates.sh +# ENABLE_CRON +if [[ "$ENABLE_CRON" == "true" ]]; then + echo "Cron is enabled" + crond -b +fi + echo "Starting Quartz..." echo "Installing dependencies..." npm i >/dev/null