Flamenco
Download Quickstart Development Get Involved Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

Getting Started

To start, get a Git checkout with either of these commands. The 1st one is for public, read-only access. The 2nd one can be used if you have commit rights to the project.

git clone git://git.blender.org/flamenco.git
git clone git@git.blender.org:flamenco.git

Then follow the steps below to get everything up & running.

1. Installing Go

Most of Flamenco is made in Go.

  1. Install Go 1.18 or newer.
  2. Optional: set the environment variable GOPATH to where you want Go to put its packages. Go will use $HOME/go by default.
  3. Ensure $GOPATH/bin is included in your $PATH environment variable. Run go env GOPATH if you’re not sure what path to use.

2. Installing NodeJS

The web UI is built with Vue, Bootstrap, and Socket.IO for communication with the backend. NodeJS+Yarn is used to collect all of those and build the frontend files.

It’s recommended to install Node via Snap:

sudo snap install node --classic --channel=16

If you install NodeJS in a different way, it may not be bundled with Yarn. In that case, run:

sudo npm install --global yarn

Install Node v16 LTS and then install Yarn via:

npm install --global yarn

Option 1 (Native install)

Install Node v16 LTS and then install Yarn via:

npm install --global yarn

Option 2 (Homebrew)

Install Node 16 via homebrew:

brew install node@16

Then install yarn:

brew install yarn

3. Your First Build

Run make with-deps to install build-time dependencies and build the application. Subsequent builds can just run make without arguments.

You should now have two executables: flamenco-manager and flamenco-worker. Both can be run with the -help CLI argument to see the available options.

See building for more make targets, for example to run unit tests, enable the race condition checker, and all other kinds of useful things.

4. Get Involved

If you’re interested in helping out with Flamenco development, please read [Get Involved!][get-involved]

[get-involved]: {{ <ref “development/get-involved” >}}