From 3ebbd23d7a05a20acbf39557f97c1c0402433f3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20Schw=C3=B6rer?= Date: Sat, 7 Feb 2026 23:35:52 +0100 Subject: [PATCH] scss via docker (3) --- Makefile | 5 +---- css_compress.dockerfile | 2 ++ data/css_compress/run.sh | 25 +++++++++++++++++++++++++ 3 files changed, 28 insertions(+), 4 deletions(-) create mode 100755 data/css_compress/run.sh diff --git a/Makefile b/Makefile index c03bc35..a697b52 100644 --- a/Makefile +++ b/Makefile @@ -63,10 +63,7 @@ push-docker: docker image push $(DOCKER_REPO)/$(DOCKER_NAME):latest css: - docker build -t mscom-css-compile -f css_compress.dockerfile . - rm "www/data/css/styles.css" "www/data/css/styles.min.css" || true - docker run --rm -v "$(shell pwd)/www:/project/www" "mscom-css-compile" - docker image rm mscom-css-compile + ./data/css_compress/run.sh clean: rm -rf ".run-data" diff --git a/css_compress.dockerfile b/css_compress.dockerfile index 1bf6e81..27b62fa 100644 --- a/css_compress.dockerfile +++ b/css_compress.dockerfile @@ -6,6 +6,8 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ && apt-get clean && rm -rf /var/lib/apt/lists/* COPY ./data /project/data +COPY ./www/data/css /project/www/data/css +RUN chown -R 1000:1000 /project/www WORKDIR /project/data/css_compress diff --git a/data/css_compress/run.sh b/data/css_compress/run.sh new file mode 100755 index 0000000..aa8ec9c --- /dev/null +++ b/data/css_compress/run.sh @@ -0,0 +1,25 @@ +#!/usr/bin/env bash +set -euo pipefail + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +PROJECT_DIR="$(cd "$SCRIPT_DIR/../.." && pwd)" + +UUID=$(cat /proc/sys/kernel/random/uuid) +CONTAINER_NAME="mscom-css-run-${UUID}" +IMAGE_NAME="mscom-css-compile-${UUID}" + +cleanup() { + docker rm "$CONTAINER_NAME" 2>/dev/null || true + docker image rm "$IMAGE_NAME" 2>/dev/null || true +} +trap cleanup EXIT + +docker build -t "$IMAGE_NAME" -f "$PROJECT_DIR/css_compress.dockerfile" "$PROJECT_DIR" + +rm -f "$PROJECT_DIR/www/data/css/styles.css" "$PROJECT_DIR/www/data/css/styles.min.css" + +docker create --name "$CONTAINER_NAME" --stop-timeout 60 "$IMAGE_NAME" +timeout 60 docker start -a "$CONTAINER_NAME" + +docker cp "$CONTAINER_NAME:/project/www/data/css/styles.css" "$PROJECT_DIR/www/data/css/styles.css" +docker cp "$CONTAINER_NAME:/project/www/data/css/styles.min.css" "$PROJECT_DIR/www/data/css/styles.min.css"