Skip to content

Monorepo Support

FluxNow supports monorepos natively. When you import a repository with multiple services, FluxNow detects each one and makes it a separately deployable unit.

FluxNow scans your repository for known service layouts. Common patterns it recognizes:

  • apps/api, apps/web, apps/worker
  • packages/server, packages/frontend
  • Any directory containing a package.json, Dockerfile, go.mod, or equivalent runtime marker

Each detected service is listed in the review panel. You can enable or disable individual services before deploying.

Each service gets its own container build. Services can have different runtimes (for example, a Node.js API alongside a Go worker), different base images, and different build commands.

By default, all services in a monorepo share the same provisioned databases, Redis instances, and S3 buckets. Service connection strings are injected into each service’s containers individually.

In the project dashboard, each service has its own settings:

  • Start command and port
  • Environment variables and secrets
  • Resource limits
  • Worker and cron processes

When you push to your default branch, FluxNow rebuilds only the services whose source files have changed. Unchanged services are not rebuilt or redeployed, keeping deploy times fast even in large monorepos.

Monorepo preview environments work the same way as single-service previews. Each PR creates isolated environments for all services, with shared Postgres databases branched from staging.