The Blender Notebook Container project provides a convenient way to run Blender within a Jupyter Notebook environment. This setup allows users to leverage the power of Blender for 3D modeling, rendering, and scripting directly from a Jupyter Notebook.
- Blender Integration: Run Blender commands and scripts within Jupyter Notebooks.
- Interactive Environment: Use Jupyter's interactive features to visualize and manipulate 3D models.
- Containerized Setup: Easy to deploy and manage using Docker.
- Docker installed on your machine.
- Clone the repository:
git clone https://github.com/scherlac/blender-container.git
- Navigate to the project directory:
cd blender-container
Build the Docker image using the provided Dockerfile:
docker build . --tag blender-container
Run the Docker container using the following command:
docker run -it --rm -e ACCESS_PW=newPW \
-v xa:/Xauthority \
-p 6080:6080 \
-p 8888:8888 \
-p 5900:5900 \
blender-container
- Open a web browser and navigate to
http://localhost:8888
. - Enter the token shown in the terminal to access the Jupyter Notebook.
- Open the
BlenderNotebook.ipynb
file to start using Blender in the Jupyter Notebook.
- Open a VNC viewer and connect to
http://localhost:5900
. - Enter the password
ACCESS_PW
to access the Blender GUI. - Start a new Blender project by selecting 'general??' from the splash screen.
The current setup is already working quite well. The Docker image is built successfully and the container is running with smaller issues. The Blender GUI is accessible via VNC or novnc via browser. The Jupyter Notebook is accessible via browser as well. The BlenderNotebook.ipynb file is working the most part. Currently the notebook fails at selecting the front view in the 3d view port.
- Add support for GPU acceleration.
- The configuration of the blender kernel is not working properly. We copied the kernel.json file and other files to the right location instead of using the install command. Currently the install command waits for a user input.
- The BlenderNotebook.ipynb file is copied from the original repository. It would be better to pull the file from the repository instead of duplicating it.