Skip to content

Instantly share code, notes, and snippets.

@fritschy
Created October 7, 2019 10:57
Show Gist options
  • Save fritschy/f6b2a3122a59b1f4cae2faddbcc31bfa to your computer and use it in GitHub Desktop.
Save fritschy/f6b2a3122a59b1f4cae2faddbcc31bfa to your computer and use it in GitHub Desktop.
Loosely Debian-Based Docker image for blender
FROM debian:buster
ENV LD_LIBRARY_PATH /blender/lib
RUN apt update && \
apt install --no-install-recommends -y curl bzip2 libfreetype6 \
libx11-6 libxi6 libxrender1 libxxf86vm1 libxfixes3 runit \
busybox-static && \
mkdir /blender && curl -kSL https://mirror.clarkson.edu/blender/release/Blender2.80/blender-2.80-linux-glibc217-x86_64.tar.bz2 | \
tar -jx -C /blender --strip-components=1 && \
cp -Lva /bin/busybox /usr/bin/chpst /tmp && \
rm -rf /var/* /bin/* /sbin/* /blender/2.80/datafiles/locale /blender/2.80/scripts/addons/cycles/lib/* && \
/tmp/busybox cp -a /tmp/busybox /tmp/chpst /bin && \
busybox --install -s /bin && \
for i in /blender/blender /bin/chpst; do /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 --list "$i"; done | \
grep -v /blender | \
awk '/ => / { f[$3]=1; } END { for (i in f) { print i; } }' | while read i; do cp -vaL $i /tmp; done && \
rm -rf /lib* && \
(cd /etc && for i in *; do case "$i" in hostname|timezone|hosts|resolv.conf) continue; esac; rm -rf "$i"; done) && \
mkdir -p /lib/x86_64-linux-gnu && \
mv -v /tmp/*.so* /lib && \
mv /lib/ld-linux-x86-64.so.2 /lib/x86_64-linux-gnu && \
chmod 755 /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 && \
ln -s /lib/x86_64-linux-gnu /lib64 && \
rm -rf /usr /tmp
ENTRYPOINT ["chpst", "-n", "20", "-b", "renderer", "/blender/blender", "-b"]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment