2026-09-06 19:40:07 +02:00
2026-07-31 10:57:38 +02:00
2026-09-06 19:40:07 +02:00
2026-09-06 19:40:07 +02:00
2026-07-31 10:57:38 +02:00
2026-07-31 10:57:38 +02:00
2021-11-18 10:50:31 +00:00
2026-07-31 10:57:38 +02:00
2026-08-14 19:06:40 +02:00
2026-07-31 10:57:38 +02:00
2026-07-31 10:57:38 +02:00

Blender

Blender Docker

This repository is an automated blender docker image file generated, it's usefully with blender addon unit test.

Building

Docker Hub credentials

main.py logs into Docker Hub before building, so it needs DOCKER_HUB_USER and DOCKER_HUB_PASSWORD in the environment.

Create a config.env file at the repo root (gitignored):

DOCKER_HUB_USER=your_docker_hub_username
DOCKER_HUB_PASSWORD=your_docker_hub_password

It's loaded automatically by the Automation Builder run configuration (ENV_FILES) when running main.py from the IDE. Running it another way? Export those two variables yourself first.

Start your build

You can use Invoke to easily start a build, a clean or more.

invoke --list

Debug and logs

Some log are generated inside a logs folder.

  • build: all operation on build docker file.
  • clean: from the dedicated function to clean all dockers images and cache.
  • test: simple class method to try a specific docker image.

Check if the build work

Use case

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

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

#!/bin/sh
/opt/blender/blender --background --python "install.py"

Check Image build

docker run --rm stilobique/blender:5.1.2 ./blender --version
# Taille de l'image
docker image inspect stilobique/blender:5.1.2 --format='{{.Size}}' | numfmt --to=iec

# Dépendances manquantes
docker run --rm --entrypoint /bin/bash stilobique/blender:5.1.2 -c 'ldd /opt/blender/blender | grep "not found" || echo "All deps OK"'

# Test fonctionnel
docker run --rm stilobique/blender:5.1.2 ./blender -b --python-expr "import bpy; print('OK:', bpy.app.version_string)"

CLI helper tasks

Reusable helpers (tasks.py) are exposed as invoke tasks.

# List available tasks
invoke clean

# Clean Docker (all contexts: default, podman, ...)
python -m blender.cli clean

# List Blender tags (Gitea)
python -m blender.cli get-tags-release

# List stilobique/blender tags (Docker Hub)
python -m blender.cli get-tags-docker
S
Description
Docker project to generate Blender image, really useful to generate Unit Test.
Readme Apache-2.0
157 KiB
Languages
Python 79.3%
Dockerfile 20.7%