187 Commits

Author SHA1 Message Date
2f82e8d2e0 Implement comprehensive Docker development environment with major performance optimizations
* Docker Infrastructure:
  - Multi-stage Dockerfile.dev with optimized Go proxy configuration
  - Complete compose.dev.yml with service orchestration
  - Fixed critical GOPROXY setting achieving 42x performance improvement
  - Migrated from Poetry to uv for faster Python package management

* Build System Enhancements:
  - Enhanced Mage build system with caching and parallelization
  - Added incremental build capabilities with SHA256 checksums
  - Implemented parallel task execution with dependency resolution
  - Added comprehensive test orchestration targets

* Testing Infrastructure:
  - Complete API testing suite with OpenAPI validation
  - Performance testing with multi-worker simulation
  - Integration testing for end-to-end workflows
  - Database testing with migration validation
  - Docker-based test environments

* Documentation:
  - Comprehensive Docker development guides
  - Performance optimization case study
  - Build system architecture documentation
  - Test infrastructure usage guides

* Performance Results:
  - Build time reduced from 60+ min failures to 9.5 min success
  - Go module downloads: 42x faster (84.2s vs 60+ min timeouts)
  - Success rate: 0% → 100%
  - Developer onboarding: days → 10 minutes

Fixes critical Docker build failures and establishes production-ready
containerized development environment with comprehensive testing.
2025-09-09 12:11:08 -06:00
e8ea44a0a6 Implement optimized Docker development environment
- Add multi-stage Dockerfile.dev with 168x Go module performance improvement
- Implement modern Docker Compose configuration with caddy-docker-proxy
- Add comprehensive Makefile.docker for container management
- Migrate from Poetry to uv for Python dependencies
- Fix Alpine Linux compatibility and Docker mount conflicts
- Create comprehensive documentation in docs/ directory
- Add Playwright testing integration
- Configure reverse proxy with automatic HTTPS
- Update .gitignore for Docker development artifacts
2025-09-09 10:25:30 -06:00
luz paz
92a93bb4d7 Cleanup: Fix various documentation related typos
Found via `codespell -S "*.po,*.chunk.min.js" -L
cace,cacl,currenty,eacf,eacg,fo,nd,nin,ontext,originaly,ot,te,ue`

No functional changes.

Co-authored-by: Sybren A. Stüvel <sybren@blender.org>
Pull Request: https://projects.blender.org/studio/flamenco/pulls/104436
2025-09-08 16:47:55 +02:00
Sybren A. Stüvel
30a26bf6d2 Website: Add 'Does Flamenco have an API?' to the FAQ
This really is a FAQ by now.
2025-09-04 17:11:44 +02:00
Sybren A. Stüvel
e5215b86b1 Website: update developer documentation about the database
Clarify the uses of SQLC and Goose, remove the last mention of GORM.
2025-08-25 12:55:40 +02:00
Vivian Leung
868c7d5a4c Add missing Manager Config definitions (#104424)
Add documentation for `database_check_period` and `clientID` to
[Manager Configuration Definitions][1].

[1]: https://flamenco.blender.org/usage/manager-configuration/#definitions

Reviewed-on: https://projects.blender.org/studio/flamenco/pulls/104424
Reviewed-by: Sybren A. Stüvel <sybren@blender.org>
2025-08-21 12:54:06 +02:00
Vivian Leung
29e0eefdd1 Project website: Fix typo, adjust spacing and heading size in the Manager Configuration page (#104420)
Decreased the heading size for Duration section to avoid competing
with the Definitions heading to respect the nesting hierarchy. Made a
few spacing tweaks and word additions.

Reviewed-on: https://projects.blender.org/studio/flamenco/pulls/104420
Reviewed-by: Sybren A. Stüvel <sybren@blender.org>
2025-08-18 11:47:00 +02:00
Sybren A. Stüvel
01a97862db Website: update OpenAPI commit guidelines
Since the introduction of a `.gitattributes` file, tooling (like Gitea)
is aware of which files are generated. This means that all
OpenAPI-related changes (`pkg/api/flamenco-openapi.yaml`, re-generated
code, and changes to the implementation) can be commited together.

The downside is that tooling that is not aware of `.gitattributes` will
still show a big mix of hand-crafted and generated changes. The upside
is that each commit brings Flamenco from a valid, runnable state to
another valid, runnable state. This helps greatly when investigating
history (like bisecting) to find the source of a bug.
2025-08-07 10:45:17 +02:00
Sybren A. Stüvel
9cc7556720 Website: better redirect URL for SIGGRAPH 2025 2025-07-24 15:15:14 +02:00
Sybren A. Stüvel
5c9a9eacbc Website: replace SIGGRAPH 2023 page with one for 2025
I'm doing another SIGGRAPH talk about Flamenco, and it helps to have a
page on flamenco.blender.org to send people to.

It directs to my own website, as then I can use syncthing to control its
contents while I'm at the conference. Not needing access to the Blender
infrastructure seems safer to me.
2025-07-24 15:13:40 +02:00
Vivian Leung
78dcd2bdc1 Website: add explanation of flamenco-manager.yaml settings (#104400)
Most of the definitions are based on the documentation in
`internal/manager/config/config.go` or inferred by labels and
descriptions from Flamenco v2 config pages.

Reviewed-on: https://projects.blender.org/studio/flamenco/pulls/104400
2025-07-22 15:14:24 +02:00
Sybren A. Stüvel
1b9b40728d Website: improve docs about installation of code generators
Link to the official Java installer, as that doesn't require XCode to be
installed (on macOS). And that works on Windows too.
2025-06-30 11:23:43 +02:00
Sybren A. Stüvel
65f391183e Add install-generators make target and improve documentation
Add Make target `install-generators` as alias for `mage installGenerators`
and update the documentation for it.
2025-06-30 11:01:15 +02:00
Sybren A. Stüvel
0b50f154cc Website: remove the instructions to install make
`make` is no longer needed to build Flamenco, and so the installation
instructions (especially for Windows and macOS) can be made considerably
simpler.
2025-06-17 10:41:31 +02:00
Sybren A. Stüvel
0315f15277 Add make check target
Add a `make check` target, which just forwards to `mage check`.
2025-06-17 10:15:58 +02:00
Sybren A. Stüvel
67d66422fd Website: update & expand doc of mage and make targets
Update & expand the available argets for `mage` and `make`.
2025-06-17 10:14:46 +02:00
Jonas Holzman
542fb5403b Docs: Fix wrong exe parameter name for the exec command (#104396)
Small documentation issue I ran into while writing a custom job type

The exec command takes an `exe` parameter, similar to other commands,
but the documentation wrongly indicates the parameter should be `exec`.

Reviewed-on: https://projects.blender.org/studio/flamenco/pulls/104396
2025-06-07 11:42:43 +02:00
tariqsulley
55491675e2 Typo Fix (#104389)
This pr fixes a typo on the flamenco shared storage page.

Reviewed-on: https://projects.blender.org/studio/flamenco/pulls/104389
Reviewed-by: Sybren A. Stüvel <sybren@blender.org>
2025-05-25 15:52:19 +02:00
Sybren A. Stüvel
dc152d6c9a Website: add alias /devstart to the developer "getting started" page
Add `/devstart` as an alias to `/development/getting-started/` page. This
is to be able to use a shorter link in the documentation I'm writing for
my hands-on class at SIGGRAPH 2025.
2025-05-06 15:27:43 +02:00
Vivian Leung
190e26adc0 Update the Javascript instructions for initializing Flamenco's API (#104387)
Updated to match the current way of initializing API's with `getAPIClient()`

It seems possible the Python instructions might need an update as well.

Reviewed-on: https://projects.blender.org/studio/flamenco/pulls/104387
2025-05-06 09:19:43 +02:00
Srivathsav-Kyatham
d2bdc9690d Website: update file path of SocketIO handling
Change `webupdates/webupdates.go` to `eventbus/socketio.go`

Reviewed-on: https://projects.blender.org/studio/flamenco/pulls/104381
2025-04-10 12:02:35 +02:00
Avi Gupta
0c811721fe Website: Add docs for MacOS under "utilities" in "getting started"
Add instructions for installing `make`.

Reviewed-on: https://projects.blender.org/studio/flamenco/pulls/104378
2025-04-07 11:28:20 +02:00
Sybren A. Stüvel
31096b34a7 Website: update GSoC text
I've taken out the plagiarism thing, and added a "become familiar with
Flamenco" thing.
2025-04-05 10:12:59 +02:00
Sybren A. Stüvel
f298e5d03b Website: add clause about the use of AI to the GSoC page 2025-04-03 15:28:30 +02:00
Sybren A. Stüvel
f239046702 Website: remove linkTitle: GSoC
Remove the `linkTitle: GSoC` from the GSoC page front matter. It is not
used for the links in the navigation tree, which is why I put it there
to begin with.
2025-04-03 10:48:05 +02:00
Sybren A. Stüvel
a1f97e8f19 Website: link to Blender's 'contributing code' docs 2025-04-03 09:58:26 +02:00
Sybren A. Stüvel
8e5f6d006d Website: add GSoC section
Add a section for GSoC.
2025-04-03 09:57:54 +02:00
Sybren A. Stüvel
efdc5a5a20 Website: mark the 'single image' job type as for v3.6+
Now that v3.6 has been released, the overly-specific "v3.6-alpha+" can be
replaced with simply "v3.6".
2025-02-21 11:06:42 +01:00
Sybren A. Stüvel
10b91422cc Website: upgrade NodeJS dependency from v18 to v22
The latest NodeJS LTS release (v22) seems to work fine. No need to stick
to older versions, from what I can see.
2025-02-10 12:07:47 +01:00
Sybren A. Stüvel
e4692e77e8 Website: Add more links to the built-in job compiler scripts
I hope this makes them easier to find.
2025-01-09 11:00:17 +01:00
Sybren A. Stüvel
167dd027c1 Move the 'Single Image Render' job type to the website
Move the 'Single Image Render' job type to the 'third party job types'
section on the website. It needs more testing & finessing before it can be
bundled with Flamenco.
2024-12-01 14:08:18 +01:00
Sybren A. Stüvel
7d8262e630 Website: document the use of build tool mage 2024-10-04 22:47:29 +02:00
Sybren A. Stüvel
0031ac31af Website: document "brew link" step in macOS dev docs 2024-10-03 19:12:27 +02:00
Sybren A. Stüvel
f1afae47d4 Website: document how to run the Flamenco Manager profiler
It's basic, but at least it saves me from finding the info again.
2024-09-30 18:07:17 +02:00
Mateus Abelli
0aa39356f1 Website: Write the Flamenco Upgrading Guide
Add the upgrading guide documentation to the Flamenco website.

Fixes #104324

Reviewed-on: https://projects.blender.org/studio/flamenco/pulls/104337
Reviewed-by: Sybren A. Stüvel <sybren@blender.org>
2024-09-09 11:28:14 +02:00
David Zhang
60872c89f9 Manager: distributed rendering of single images
Add a new job type that can render a single image. It is broken up
into separate tiles, each of which can be rendered independently by a
worker. Only tested with Cycles.

Adaptive sampling is supported. For this, each tile is expanded by 16
pixels in each direction, which is later cropped off before merging
the tiles.

Denoising is not (yet) supported, as Blender/Cycles does not output
all the necessary data into EXR layers.

Tile sizes should (for now) be a power of 2, to avoid alignment
issues.

Reviewed-on: https://projects.blender.org/studio/flamenco/pulls/104327
Reviewed-by: Sybren A. Stüvel <sybren@blender.org>
2024-09-03 06:47:45 +02:00
waterwheels
8d57a60114 update ffmpeg command in docs (#104333)
The docs listed the ffmpeg command as `create-video` but it seems that the actual command is `frames-to-video`.

Reviewed-on: https://projects.blender.org/studio/flamenco/pulls/104333
Reviewed-by: Sybren A. Stüvel <sybren@blender.org>
2024-08-26 18:15:14 +02:00
Sybren A. Stüvel
4073c34b0d Website: update another chat link
I missed a link in my previous commit.
2024-08-26 18:05:12 +02:00
Sybren A. Stüvel
2df4f91b68 Website: update link to Blender Chat
Blender Chat moved to Matrix, and with that to a new URL.

https://chat.blender.org/#/room/#flamenco:blender.org
2024-08-25 14:53:04 +02:00
TrevorSmale
819ded5406 Fixed some grammar.
Check out the diff, just made a few minor grammatical adjustments.
2024-08-07 20:49:02 +02:00
Sybren A. Stüvel
eb763a605b Website: document absolute vs. relative asset paths
Flamenco treats assets differently, depending on whether they're referenced
by an absolute or a blendfile-relative path. This is now actually
documented.
2024-07-23 09:33:52 +02:00
Sybren A. Stüvel
8b01012539 Website: document more of the sqlc workflow
Document installation & use of sqlc.

Installing sqlc is only necessary to regenerate the database code. Once
generated, the code is independent of sqlc.
2024-05-30 09:50:17 +02:00
Sybren A. Stüvel
2d5de525d0 Website: add FAQ entry about doubling of backslashes in paths 2024-05-27 13:03:01 +02:00
Sybren A. Stüvel
1eca95cfc9 Website: clarify that the Cycles/OPTIX job type is for Flamenco 3.6+
It needs some new features in the upcoming v3.6
2024-05-16 12:47:01 +02:00
Sybren A. Stüvel
4ce3f13505 Website: link to new 'job type' issue template
For the 'submit your job type on the tracker' link, use the new issue
template I made for that purpose.
2024-05-16 12:40:07 +02:00
Sybren A. Stüvel
7e9963e6ad Website: Replace WebP image with PNG
This is only necessary for those images that are getting processed by
Hugo's image pipeline.
2024-05-16 12:39:52 +02:00
Sybren A. Stüvel
80f7ae99b9 Website: add Cycles/OPTIX/GPU job type
Add the latest version of the Blender Studio custom job type to the
website, as it does a few things others may find interesting.
2024-05-16 12:28:55 +02:00
Sybren A. Stüvel
0e2effd29b Website: document 3rd party job type compatibility
All 3rd party job types should get a box with the versions of Flamenco and
Blender they are compatible / tested with.
2024-05-16 12:28:55 +02:00
Mateus Abelli
d5977c637b Website: Fix links in Documentation /development/database
This patch fixes what appears to be placeholders for the markdown links of GORM and SQLC.

Reviewed-on: https://projects.blender.org/studio/flamenco/pulls/104309
Reviewed-by: Sybren A. Stüvel <sybren@blender.org>
2024-05-16 08:26:03 +02:00
Mateus Abelli
47341a2338 Website: add image to 'Worker cannot find Manager' FAQ entry
Add a screenshot of the Manager's log on the terminal. This should make
it clearer which "Manager output" is meant, also for people who aren't
familiar with terminals.

Fixes #104303
2024-05-15 09:51:57 +02:00