aboutsummaryrefslogtreecommitdiff
path: root/gerboweb/deploy/render.sh
diff options
context:
space:
mode:
Diffstat (limited to 'gerboweb/deploy/render.sh')
-rwxr-xr-xgerboweb/deploy/render.sh20
1 files changed, 20 insertions, 0 deletions
diff --git a/gerboweb/deploy/render.sh b/gerboweb/deploy/render.sh
new file mode 100755
index 0000000..c3920de
--- /dev/null
+++ b/gerboweb/deploy/render.sh
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+[ $# != 1 ] && exit 1
+ID=$1
+egrep -x -q '^[-0-9A-Za-z]{36}$'<<<"$ID" || exit 2
+
+systemd-nspawn \
+ -D /var/cache/gerbolyze_container \
+ -x --bind=/var/cache/gerboweb/upload/$ID:/mnt \
+ /bin/sh -c "set -euo pipefail
+unzip -j -d /tmp/gerber /mnt/gerber.zip
+rm -f /mnt/render_top.png /mnt/render_bottom.png /mnt/render_top.small.png /mnt/render_bottom.small.png
+date; echo 'Rendering bottom layer'
+gerbolyze render top /tmp/gerber /mnt/render_top.png
+date; echo 'Scaling down'
+convert /mnt/render_top.png -resize 500x500 /mnt/render_top.small.png
+date; echo 'Rendering top layer'
+gerbolyze render bottom /tmp/gerber /mnt/render_bottom.png
+date; echo 'Scaling down'
+convert /mnt/render_bottom.png -resize 500x500 /mnt/render_bottom.small.png"