An application to run Blender rendering tasks on BOINC Central.
./boincblender \
-blender /bin/blender \
-workdir /app \
-input scene.blend \
-output renders/frame_#### \
-frame 1 \
-engine CYCLES \
-cyclesDevice CPU \
-imageFormat PNG \
-threads 4
Key flags:
-blenderPath to Blender executable (default/bin/blenderinside the container)-workdirWorking directory (where input/output live)-input(required).blendfile name relative to workdir-outputOutput prefix (Blender will add frame numbering)-frameFrame number to render-engineCYCLESorEEVEE-cyclesDeviceDevice when using Cycles:CPU|CUDA|OPTIX|HIP|ONEAPI|METAL-imageFormatOne ofTGA, RAWTGA, JPEG, IRIS, AVIRAW, AVIJPEG, PNG, BMP, HDR, TIFF-threadsThread count passed to Blender-t
A fraction_done file (0.000–1.000) is updated as progress lines are parsed and written from Blender output.
Requires Go 1.22+.
go build ./boincblender.go
The provided Dockerfile downloads Blender and sets up a minimal runtime.
Build the image:
docker build -t boinc-blender:latest .
Run (expecting an input.zip containing the .blend and any assets):
docker run --rm -v "$PWD":/app -e ARGS="-input scene.blend -output frame_#### -frame 1 -engine CYCLES -threads 4" boinc-blender:latest
The next parameters are mandatory:
-input(required).blendfile name relative to/app-outputOutput prefix (Blender will add frame numbering)-frameFrame number to render