Go to file
Sybren A. Stüvel 6c827ffc52 Shaman: only configure the root directory of the Shaman files
Flamenco v2 allowed separate configuration of the Shaman file store and
checkout paths. This is now just one setting for "the storage". The file
store will be in `{storage}/file-store` and the checkout will happen in
`{storage}/jobs`.
2022-03-25 14:32:42 +01:00
.vscode Add VSCode extension recommendations 2022-03-04 11:13:17 +01:00
addon Shaman: allow Manager to determine the final checkout path 2022-03-25 14:10:26 +01:00
cmd Manager: More work on Shaman support 2022-03-25 14:10:26 +01:00
internal Shaman: only configure the root directory of the Shaman files 2022-03-25 14:32:42 +01:00
pkg Shaman: only configure the root directory of the Shaman files 2022-03-25 14:32:42 +01:00
web SocketIO based chat client as PoC for backend/frontend communication 2022-02-11 14:47:26 +01:00
.gitignore git-ignore shaman-file-storageflamenco/bat/interface.py:232 2022-03-25 14:10:26 +01:00
.gitlab-ci.yml Configure SAST in .gitlab-ci.yml, creating this file if it does not already exist 2022-01-03 18:50:58 +00:00
CONFIG_DESIGN.md Partial design doc for configuration handling 2022-02-21 19:47:52 +01:00
debug-job-echo.sh Debugging: add simple render job script 2022-02-21 19:58:29 +01:00
debug-job-render.sh Implement frames-to-video command 2022-03-17 16:18:10 +01:00
FEATURES.md Manager: More work on Shaman support 2022-03-25 14:10:26 +01:00
go.mod Cleanup: run go mod tidy 2022-03-08 15:02:05 +01:00
go.sum Work in progress on using UPnP/SSDP to make the Worker find its Manager 2022-03-04 17:44:04 +01:00
LICENSE License: license all code under "GPL-3.0-or-later" 2022-03-07 15:26:46 +01:00
Makefile Shaman submission is working! 2022-03-25 14:10:26 +01:00
README.md README: just some small updates to the 'building' section 2022-03-15 12:06:38 +01:00

Flamenco 3

This repository contains the sources for Flamenco 3. The Manager, Worker, and Blender add-on sources are all combined in this one repository.

Building

  1. Install Go 1.18 or newer, Java (just a JRE is enough), and Node 16 (see below)
  2. Set the environment variable GOPATH to where you want Go to put its packages. Defaults to $HOME/go if not set. Run go env GOPATH if you're not sure.
  3. Ensure $GOPATH/bin is included in your $PATH environment variable.
  4. Magically build the web frontend (still under development, no concrete steps documentable quite yet)
  5. 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.

Node / Web UI

The web UI is built with Vue, Bootstrap, and Socket.IO for communication with the backend.

NodeJS is used to collect all of those and build the frontend files. It's recommended to install Node v16 via Snap:

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

This also gives you the Yarn package manager, which can be used to install web dependencies and build the frontend files.

Swagger UI

Flamenco Manager has a SwaggerUI interface at http://localhost:8080/api/swagger-ui/

Database

Flamenco Manager and Worker use SQLite as database, and Gorm as object-relational mapper.

Since SQLite has limited support for altering table schemas, migration requires copying old data to a temporary table with the new schema, then swap out the tables. Because of this, avoid NOT NULL columns, as they will be problematic in this process.

License

Flamenco is licensed under the GPLv3+ license.