prepare intranet for first Dokploy deployment
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
SRC="${PDF_OUTPUT:-/data/pdf/terminuebersicht.pdf}"
|
||||
OUTDIR="${DASHBOARD_MONTH_DIR:-/var/www/html/intranet_repo/projects/dashboard/month}"
|
||||
TMPDIR="$(mktemp -d)"
|
||||
trap 'rm -rf "$TMPDIR"' EXIT
|
||||
|
||||
[ -s "$SRC" ] || { echo "PDF fehlt/leer: $SRC" >&2; exit 1; }
|
||||
mkdir -p "$OUTDIR"
|
||||
|
||||
PAGES="$(pdfinfo "$SRC" 2>/dev/null | awk '/^Pages:/ {print $2}' || true)"
|
||||
PAGES="${PAGES:-2}"
|
||||
[ "$PAGES" -ge 1 ] || { echo "Ungültige Seitenzahl: $PAGES" >&2; exit 1; }
|
||||
PAGE_LIST="1"
|
||||
[ "$PAGES" -gt 1 ] && PAGE_LIST="1-2"
|
||||
|
||||
gs -dSAFER -dBATCH -dNOPAUSE \
|
||||
-sDEVICE=pngalpha -r300 \
|
||||
-dTextAlphaBits=4 -dGraphicsAlphaBits=4 \
|
||||
-sPageList="$PAGE_LIST" \
|
||||
-sOutputFile="$TMPDIR/terminuebersicht-%d.png" \
|
||||
"$SRC"
|
||||
|
||||
[ -f "$TMPDIR/terminuebersicht-1.png" ] || { echo "PNG Seite 1 fehlt" >&2; exit 1; }
|
||||
|
||||
if command -v pngquant >/dev/null 2>&1; then
|
||||
for f in "$TMPDIR"/terminuebersicht-*.png; do
|
||||
[ -e "$f" ] || continue
|
||||
pngquant --force --output "$f" "$f" || true
|
||||
done
|
||||
fi
|
||||
|
||||
mv -f "$TMPDIR/terminuebersicht-1.png" "$OUTDIR/terminuebersicht-1.png"
|
||||
if [ -f "$TMPDIR/terminuebersicht-2.png" ]; then
|
||||
mv -f "$TMPDIR/terminuebersicht-2.png" "$OUTDIR/terminuebersicht-2.png"
|
||||
else
|
||||
rm -f "$OUTDIR/terminuebersicht-2.png"
|
||||
fi
|
||||
chmod 0644 "$OUTDIR"/terminuebersicht-*.png
|
||||
Reference in New Issue
Block a user