From 878f421f8c1ac3a16de7d9f87c296a7d9ed5cca9 Mon Sep 17 00:00:00 2001 From: Aurelien Vaillant Date: Tue, 23 Nov 2021 16:26:53 +0100 Subject: [PATCH 1/7] Add a config docker for blender 2.93.6 --- .run/Dockerfile.run.xml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 .run/Dockerfile.run.xml diff --git a/.run/Dockerfile.run.xml b/.run/Dockerfile.run.xml new file mode 100644 index 0000000..3e8fe8c --- /dev/null +++ b/.run/Dockerfile.run.xml @@ -0,0 +1,24 @@ + + + + + + + + + + \ No newline at end of file From 349327408c210fe11ffd173d11bc4821785f265f Mon Sep 17 00:00:00 2001 From: Aurelien Vaillant Date: Wed, 24 Nov 2021 13:31:00 +0100 Subject: [PATCH 2/7] Update the Dockerfile setup --- .run/Dockerfile.run.xml | 11 ++++++++++- Dockerfile | 7 ++++--- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/.run/Dockerfile.run.xml b/.run/Dockerfile.run.xml index 3e8fe8c..5a66018 100644 --- a/.run/Dockerfile.run.xml +++ b/.run/Dockerfile.run.xml @@ -2,7 +2,7 @@ - diff --git a/Dockerfile b/Dockerfile index 166197d..e7c2d33 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,7 +7,7 @@ ARG b3d_vs_minor=0 LABEL Author="stilobique" LABEL Title="Blender Docker for Unit Test" -ENV B3D_ADDON_PATH "/bin/blender-${b3d_vs_major}.${b3d_vs_minor}-linux-x64/${b3d_vs_major}/scripts/addons" +ENV B3D_ADDON_PATH "/bin/blender/${b3d_vs_major}/scripts/addons" # Install dependencies RUN apt-get update && apt-get install -y \ @@ -24,7 +24,8 @@ RUN apt-get update && apt-get install -y \ # Install Blender RUN wget https://download.blender.org/release/Blender${b3d_vs_major}/blender-${b3d_vs_major}.${b3d_vs_minor}-linux-x64.tar.xz -P /opt \ && tar -xvf /opt/blender-${b3d_vs_major}.${b3d_vs_minor}-linux-x64.tar.xz -C /opt \ - && rm -rf /opt/blender-${b3d_vs_major}.${b3d_vs_minor}-linux-x64.tar.xz + && rm -rf /opt/blender-${b3d_vs_major}.${b3d_vs_minor}-linux-x64.tar.xz \ + && mv /opt/blender-${b3d_vs_major}.${b3d_vs_minor}-linux-x64 /opt/blender # Working Directory setup -WORKDIR /opt/blender-${b3d_vs_major}.${b3d_vs_minor}-linux-x64 +WORKDIR / \ No newline at end of file From 8260c1ac6c62c8db5b05ffb988e27b03f2b54433 Mon Sep 17 00:00:00 2001 From: Aurelien Vaillant Date: Wed, 24 Nov 2021 14:28:15 +0100 Subject: [PATCH 3/7] Add basic information about the addon install process --- README.md | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a113722..b263801 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,23 @@ # Blender Docker +Docker project to generate Blender image, really usefull to generate Unit Test -Docker project to generate Blender image, really usefull to generate Unit Test \ No newline at end of file + +# Adding an Addon +Mount a new volume with your addon inside a folder (ex `/blender-plugin/plugin-archive.zip`), when you run your docker container add this volume and execute a script to add-it with the blender installed. + +Python function to install an addon with Blender. The file his named `install.py` +````python +import bpy +def b3d_install_addon(): + bpy.ops.preferences.addon_install(filepath='./plugin-archive.zip') + bpy.ops.preferences.addon_enable(module='plugin-name') + +if __name__ == '__main__': + b3d_install_addon() +```` + +Call this function with blender inside this container +````shell +#!/bin/sh +/opt/blender/blender --background --python "install.py" +```` \ No newline at end of file From d1821594c02008e3c217fb43d0a979bd34f9955d Mon Sep 17 00:00:00 2001 From: Aurelien Vaillant Date: Thu, 25 Nov 2021 12:02:48 +0100 Subject: [PATCH 4/7] Config a multi stage optimisation, and remove unused ENV variable --- Dockerfile | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index e7c2d33..691859f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM ubuntu:21.10 +FROM ubuntu:21.10 AS blender # Setup all software version request ARG b3d_vs_major=2.90 @@ -7,8 +7,6 @@ ARG b3d_vs_minor=0 LABEL Author="stilobique" LABEL Title="Blender Docker for Unit Test" -ENV B3D_ADDON_PATH "/bin/blender/${b3d_vs_major}/scripts/addons" - # Install dependencies RUN apt-get update && apt-get install -y \ zip \ @@ -27,5 +25,9 @@ RUN wget https://download.blender.org/release/Blender${b3d_vs_major}/blender-${b && rm -rf /opt/blender-${b3d_vs_major}.${b3d_vs_minor}-linux-x64.tar.xz \ && mv /opt/blender-${b3d_vs_major}.${b3d_vs_minor}-linux-x64 /opt/blender +# Setup a Multistage optimisation +FROM ubuntu:21.10 +COPY --from=blender /opt/blender/ / + # Working Directory setup WORKDIR / \ No newline at end of file From c197b177f224c13bb11d01853eaaef304e115817 Mon Sep 17 00:00:00 2001 From: Aurelien Vaillant Date: Mon, 29 Nov 2021 15:26:47 +0100 Subject: [PATCH 5/7] Update the docker process, compile a blender version and keep only package request --- Dockerfile | 55 ++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 39 insertions(+), 16 deletions(-) diff --git a/Dockerfile b/Dockerfile index 691859f..0fef5a6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM ubuntu:21.10 AS blender +FROM ubuntu:latest AS blender # Setup all software version request ARG b3d_vs_major=2.90 @@ -7,27 +7,50 @@ ARG b3d_vs_minor=0 LABEL Author="stilobique" LABEL Title="Blender Docker for Unit Test" +ENV TZ=Europe/Paris +RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone + # Install dependencies RUN apt-get update && apt-get install -y \ - zip \ - wget \ - bzip2 \ - zlib1g-dev \ build-essential \ - libxi-dev \ - libxxf86vm-dev \ - libxrender1 \ - libgl1-mesa-glx + gcc \ + git \ + cmake \ + libc6-dev \ + libx11-dev \ + subversion \ + libx11-dev \ + libxrandr-dev \ + libxcursor-dev \ + libxxf86vm-dev \ + libxinerama-dev \ + libglew-dev \ + libxi-dev \ + python3 -# Install Blender -RUN wget https://download.blender.org/release/Blender${b3d_vs_major}/blender-${b3d_vs_major}.${b3d_vs_minor}-linux-x64.tar.xz -P /opt \ - && tar -xvf /opt/blender-${b3d_vs_major}.${b3d_vs_minor}-linux-x64.tar.xz -C /opt \ - && rm -rf /opt/blender-${b3d_vs_major}.${b3d_vs_minor}-linux-x64.tar.xz \ - && mv /opt/blender-${b3d_vs_major}.${b3d_vs_minor}-linux-x64 /opt/blender +# Compile Blender +RUN mkdir /opt/blender-git/ && cd /opt/blender-git/ \ + && git clone -b v${b3d_vs_major}.${b3d_vs_minor} --depth 1 https://git.blender.org/blender.git \ + && git config --global user.email "a.vaillant.moderlab@gmail.com" \ + && git config --global user.name "Aurelien Vaillant" \ + && mkdir /opt/blender-git/lib \ + && cd /opt/blender-git/lib \ + && svn checkout https://svn.blender.org/svnroot/bf-blender/trunk/lib/linux_centos7_x86_64 \ + && cd /opt/blender-git/blender \ + && git submodule update --init --recursive \ + && make + +#RUN cd /opt/blender-git/build_linux/bin \ +# && ls -la \ # Setup a Multistage optimisation -FROM ubuntu:21.10 -COPY --from=blender /opt/blender/ / +FROM ubuntu:latest +COPY --from=blender /opt/blender-git/build_linux/bin /opt/blender +RUN apt-get update && apt-get install -y \ + libxi6 \ + libxxf86vm1 \ + libxrender1 \ + libgl1-mesa-glx # Working Directory setup WORKDIR / \ No newline at end of file From fbe3f3a24fa05aee61629e5f5b3f3e38dbbbffea Mon Sep 17 00:00:00 2001 From: Aurelien Vaillant Date: Wed, 1 Dec 2021 13:42:30 +0100 Subject: [PATCH 6/7] Update docker config, setup a multi stage setup, and build blender from source --- Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index 0fef5a6..f0863e6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -40,12 +40,12 @@ RUN mkdir /opt/blender-git/ && cd /opt/blender-git/ \ && git submodule update --init --recursive \ && make -#RUN cd /opt/blender-git/build_linux/bin \ -# && ls -la \ - # Setup a Multistage optimisation FROM ubuntu:latest COPY --from=blender /opt/blender-git/build_linux/bin /opt/blender +ARG b3d_vs_major +ENV B3D_ADDON_PATH "$HOME/.config/blender/${b3d_vs_major}/scripts/addons" + RUN apt-get update && apt-get install -y \ libxi6 \ libxxf86vm1 \ From 7f9739105169fc8bf0ce18f6e78978ea1499ca40 Mon Sep 17 00:00:00 2001 From: Aurelien Vaillant Date: Mon, 6 Dec 2021 10:48:03 +0100 Subject: [PATCH 7/7] Change Docker build to the lastest blender version --- .run/Dockerfile.run.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.run/Dockerfile.run.xml b/.run/Dockerfile.run.xml index 5a66018..eebd473 100644 --- a/.run/Dockerfile.run.xml +++ b/.run/Dockerfile.run.xml @@ -7,11 +7,11 @@