Hello my friends! I’ve been trying to build Blender Cloud following the instructions at Blender Cloud · rBC and the "deploy’ instructions, too.
Well, despite a few bits of confusion, some stuff that obviously wasn’t meant for just any old rando (push access to git.blender.org being required for some stuff), and a missing instruction, I think I was able to build everything successfully without errors. I was able to run the poetry run ./manage.py runserver line and couldn’t find any evidence of a Blender Cloud being hosted on localhost or cloud.local (these are in my /etc/hosts)… then I noticed that there was no instruction to make the virtual environment or switch to it… so when I did that and tried again, it got stuck at ‘INFO pillar.PillarServer Pinging Celery workers’. Well, whatever, I don’t care about virtualenvs, I am using a virtual machine. It’s Lubuntu 20.04 LTS. The command works when I am not working in a virtual environment.
So what I am actually asking here is this: How do I interact with Blender Cloud? I think I built it correctly. It even made the docker images with the deploy scripts, and although they don’t appear with docker container ls, the script asked me to push them somewhere. How do I launch it? Is my suspicion correct that poetry run ./manage.py runserver is a command that starts the server? In which case, why can I not see it when I go to localhost or cloud.local in Firefox?
For reference, I am doing this mostly for my own interest, but also because I want to use a local instance of Attract and a Flamenco server, too. Yes, I know I can use the one in Blender Cloud’s official main instance. I am a cloud member, have been for years. But I want my own cloud, darn it! I want to eventually deploy a BC on my own website for collaborating with my friends. One of them is gonna graduate university soon, and I think we’ll finally have time to work on some cool stuff. And I can make him work for FREE if he’s trying to build his portfolio! MWAHA!
(The instructions that were missing were: which distro to build on, when to create and switch to the virtualenv, and confusing stuff regarding development, and finally, no instructions about how to be sure it’s running. Finally, if you use a new Ubuntu, then you have to install Python3.6 and then setup update-alternatives to use it instead of the system python (you might have to do that anyway, I think Ubuntu uses Python 2 as the system python).
You do care about virtualenvs, unless you want to play version-juggling with the exact versions of Python packages bundled with your distribution. Blender Cloud is hard to set up, and using different versions of dependencies than were used by the developers is just going to make things harder.
The best way to get started is to look at how the Docker images are created: docker · rBC
Blender Cloud v3 is being replaced by a Django project called Blender Studio, which represents Cloud v4. It is what you see now when you go to https://cloud.blender.org/. Some things are still Cloud v3, like Flamenco, Attract, Blender Sync, and some other things.
The current film production Sprite Fright is now using Kitsu rather than Attract, as the former is also Open Source, more developed, and basically what Attract could become in some far future is what Kitsu already is now.
I put together some instructions for running a Flamenco server a few months ago, including Blender Cloud. For virtual environments, I mostly used poetry to handle different versions etc. Make sure that you are using the appropriate port for when checking if cloud.local is running. If it’s running, when you curl cloud.local:5000 you’ll get a redirect webpage, and curl cloud.local:5000/welcome should give you the Blender Cloud homepage. Here’s a link to the instructions I put together:
Note: These are unofficial instructions, but please feel free to submit any issues you find with them. There’s also a troubleshooting section if you find any solutions you feel would be helpful for others.
Thank you for your reply, Dr.! I wasn’t aware that there was a Blender Studio, or a Kitsu! I’m looking for anything that would work as a project manager, as long as it’s Free/Libre. If you’re using Kitsu right now, what’s the future of Attract? Is it easier to build Blender Studio? Maybe I should try that instead.
If you don’t mind answering a slightly off-topic question, what is the difference between virtualenv and making a virtual machine with the right dependencies (and then never changing them)? I thought virtualenv’s were for having multiple environments on one machine. Is there an advantage to having virtualenv’s if you only need one Python environment? Frankly, virtualenv’s confuse me.
@samuelmiller Thanks for the reply. I will have a look. It at least confirms to me that something isn’t working in the build I attempted yesterday.
To all/any: Is it necessary to build the whole cloud for just e.g. Flamenco or just Attract? I am particularly interested in Flamenco as it is the most immediately useful. I’m mostly just trying to learn all I can to set up my home studio, and so that I’ll be more useful for my career. Learning is fun!
As you mention in your original post, you don’t need to build Blender Cloud to use Flamenco, but if you want to make your own Flamenco Server and not just connect managers to the official BC then yes, you do need Blender Cloud at this point.See Dr. Sybren’s comment below
If you create a virtual machine, you don’t necessarily need to create a virtual environment if you’re just going to run BC on it. However, I found that I would run both BC and BlenderID on the same VM, so you might run into dependency issues (not sure, but the whole point of virtual environments is to avoid those issues). poetry wasn’t too bad as far as virtual environments go, but I definitely had to do some extra reading on it.
Side note: in your first post you ask which version of Python Ubuntu uses as system version. As of 20.04, Ubuntu does not have Python2 and uses Python3 as the system Python.
The difference is that with a virtualenv you have full control over the packages & their versions. With a virtual machine, you’re still bound to whatever package version your distribution gives you.
It is not, you should be able to run a Flamenco Server with just Pillar + Flamenco Server.
There are some long-term plans to make Flamenco Server an optional component of Flamenco. When that’s done, you’d only need Flamenco Manager + the workers, making deployment much easier.
It is not, you should be able to run a Flamenco Server with just Pillar + Flamenco Server.
@sybren, can you please expand on this? Is this new functionality or is this something that would take some coding to get to work? I thought Flamenco Server had some dependencies on Blender Cloud. Did that change?
Both Blender Cloud and Flamenco Server are written as Pillar extensions. You can use one without the other, although only the full combo (Cloud, Flamenco, Attract, SVNMan) is used in production on https://cloud.blender.org/ so there might be some unnoticed inter-dependencies.