NodeJS Monorepo Example

Hi there, We would like to run several apps (analytics server, node apps, etc…) from a monorepo. Is there an example of a Node monorepo setup that utilizes Fly to launch and manage multiple deployments?

One can supply any combination of docker images and Fly app configs to flyctl deploy (ref). Then the question becomes, can one package apps within a monorepo into their own containers…

Not exactly a monorepo in the traditional sense, but an opensource project I co-develop (ref) can be packaged targeting two different runtimes viz Node and Deno (dockerfile: 1, 2), and can deploy them to Fly against two different app configs (fly.toml: 1, 2).

1 Like

Thanks for the reply. After a few days playing with Fly, I’ve worked through most the things we’d need to switch over (happy to remove AWS from my life!)…

The missing feature, it seems, is a utility to manage multiple deploys at once. For example, so we could roll everything back if one failed, etc. .

At any rate, the usability of Fly trumps that and we’ll be switching over.

1 Like

Same.

This one seems a bit tedious to implement, yeah…

Btw, if your monorepo is open-source / public, do link it here!

Eventually, Terraform with its emerging provider for Fly’s API can do that (and more) for you, like it does for AWS (without having to use Cloud Formation, etc.).

1 Like

Using Terraform might be a bit out of scope for us, previously we were using CDK but manually doing things with Fly is actually going to be easier than using IAC (infrasctructure as code)…

What would be best is something like docker-compose but for fly.toml files…

We have two monorepos actually, one is public here: https://www.factorjs.org … we use that to build all sorts of stuff across different teams.

The actual project we’re working on is an analytics and CX platform called Kaption; but code for that is currently private.

1 Like