- any headless Linux server
- Blender v2.79 or v2.80 - v2.93 (from package manager or blender.org)
- latest version of CrowdRender addon
- optional: GPU drivers for GPU-rendering
$ blender -b --python-console
(InteractiveConsole)
>>> import bpy
>>> bpy.ops.wm.addon_install(overwrite=True, filepath="/path/to/folder/addon.zip")
>>> bpy.ops.wm.addon_enable(module='crowdrender')
>>> bpy.ops.wm.save_userpref()
>>> exit()
$ blender -b --python-console
(InteractiveConsole)
>>> import bpy
>>> bpy.ops.preferences.addon_install(overwrite=True,filepath='/path/to/addon.zip')
>>> bpy.ops.preferences.addon_enable(module='crowdrender')
>>> bpy.ops.wm.save_userpref()
>>> exit()
$ blender -noaudio -b --python ~/.config/blender/2.79/scripts/addons/crowdrender/src/bl_2_79/serv_int_start.py -- -t "server_int_proc"
Crowd Render Server Interface Process ready
for blender v2.80 you will need to change the path to serv_int_start.py
accordingly
$ blender -noaudio -b --python ~/.config/blender/2.79/scripts/addons/crowdrender/src/py_3_5_3/serv_int_start.py -- -t "server_int_proc"
$ blender -noaudio -b --python ~/.config/blender/2.80/scripts/addons/crowdrender/src/py_3_7/serv_int_start.py -- -t "server_int_proc"
$ blender -noaudio -b --python ~/.config/blender/2.80/scripts/addons/crowdrender/src/cr/serv_int_start.py -- -t "server_int_proc"
now it should show the IP address of your server and you should be able to connect to the server via any client running in the same network
-p false
- if you're using a virtual machine from a cloud provider, you may not want to permanently store it in your crowdrender account as if you do, each time you use a vm from a cloud provider, you'll get a different vm and they'll start to pile up in your account.-ak
- called the access key, if you setup multiple vm's on your own servers, best give them each a unique access key. This can be literally anything, but its important if you're using containerisation or vms on your own hardware since if you do, chances are the hardware id of those vm's containers could be the same, which totally prevents you from connecting to more than on of them at once, defeating the purpose of using our software.-ct
- authorisation token of your Crowdrender cloud account. Using this allows the vm's / containers to post to your cloud account on our servers when they are alive. This means you'll actually be able to see which of them are alive and able to be used and which are offline (or just not posting cause they're not logged in).
you can run the process in the background by using screen
and detatch it with Ctrl + a + d
$ screen blender -noaudio -b [...]
(Blender 2.80)
You create a unit /etc/systemd/system/crowdrender.service
[Unit]
Description=CrowdRender service
After=network.target
[Service]
Type=simple
ExecStart=/path/to/blender -noaudio -b --python /home/example/.config/blender/2.80/scripts/addons/crowdrender/src/py_3_7/serv_int_start.py -- -t "server_int_proc"
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
for Blender 2.79/2.81 etc. you need to change the path to the addon in ExecStart
To start the demon you run:
systemctl start crowdrender.service
To start at boot you enable it:
systemctl enable crowdrender.service
Ok, if you're going to use the -ak option, you should be using the -ct option as well and putting in your CR token, which you can get from your cloud account profile page here -> discovery.crowd-render.com/profile.
All you need to do is login to your profile and then you'll be able to copy your auth token and use it to fulfil the -ct option (ct = crowdrender token).
This automatically populates the vm's to your cloud account, so you should then see them appear in your list of nodes on your master machine (your master machine needs to also be logged in for this to work as the master will query your account to get the list of nodes that are associated with your account).
Doing it this way will automatically populate the access keys for the nodes on your master machine, meaning your master will be able to connect since it has the right key for each machine.
You may also want to consider if you want the VMs to persist in your cloud account. If you do then no further config is necessary, If you'd rather they didn't get saved to your account, then you can use -p false which stops a node from persisting in your account, it will be forgotten about. Persistent nodes will always be shown in your list, even if they are off-line.