Machines

Ask NocoAI

Copy a prompt, paste it into NocoAI in a factory session, and replace the words in [brackets] with your own.

  • Suggest a machine for this repository with the tools it needs
  • Add [Redis] to the machine so the next sessions start with it

A Noco Factory machine sets what a session's cloud computer starts with: languages, package managers, databases and tools. Set up a machine once, and every new session starts ready to run your project. You do not install the same tools in each session.

You manage machines in the factory settings, under Machines: "The environment your sessions start from. New sessions use the default; pick another in the composer."

The Machines page in the factory settings

Before you begin

  • To create, edit or build machines, you need the Maintainer or Owner role in the factory. Developers can see machines and pick one for a session.
  • Building a machine uses credits.

The base machine

Every factory has the Base machine: "Node.js 24, Python 3, git, GitHub CLI, ripgrep and Chrome. Every machine builds on it, and sessions with no machine run on it." It runs Ubuntu 22.04 with a desktop.

A factory with no custom machine runs all sessions on the base machine.

Open the Machines page

Do one of these:

  • In the factory, click Settings (the gear icon) in the left rail, then select Machines.
  • Open the project context menu of the factory, select Settings, then Machines.
  • In the session launcher, click the machine chip and select Manage machines. The chip shows when the factory has two or more custom machines.

Create a machine

  1. On the Machines page, click New machine.
  2. Type a Name.
  3. Optional: in Copy packages from, select a machine to copy its packages. To start with no packages, keep the default.
  4. Click Create machine. The machine opens.
  5. Turn on the packages that the repository needs, and pick a version where the package has one. Packages that NocoDB found in the repository show Detected. See What a machine can have.
  6. Click Build v1. The build takes a few minutes.

"Builds take a few minutes. Keep working; sessions stay on the current version until it's ready." Until the first version is ready, sessions use the base machine.

The packages of a machine, with Node.js turned on

What a machine can have

CategoryPackages
LanguagesNode.js, Python, Go, Rust, Java, Ruby, PHP, .NET, Bun, Deno
Package managerspnpm, Yarn, uv, Poetry
ServicesPostgreSQL, MySQL, Redis, MongoDB
ToolsDocker, Playwright browsers, ffmpeg, AWS CLI, Terraform, kubectl

For some packages you can pick the version. Type in the search box to find a package.

Services start with every session. NocoDB gives their addresses to NocoAI as environment variables, so tests and dev servers connect without setup:

ServiceEnvironment variable
PostgreSQLDATABASE_URL
MySQLMYSQL_URL
RedisREDIS_URL
MongoDBMONGODB_URL

Extra packages and custom commands

For anything that is not in the catalog, use Extra packages. Type the package name under System (apt), Global npm or Global pip, and press Enter.

Use Custom commands for other setup steps. The commands "Run as root after everything above, one per line. A failing command fails the build."

Versions and the default machine

Each build of a machine is a numbered version: v1, v2 and so on. The machine page has three tabs:

TabWhat it shows
Overview"The version sessions start from, and what's installed."
Versions"Every build of this machine. Choose which one new sessions use."
Build log"Step-by-step output of each build."

To change a machine, open it and click New version. Turn packages on or off, then click Build v2 (or the next number). Running sessions keep their machine. New sessions use the new version when it is ready.

ToDo this
Use an older version for new sessionsOn Versions, select Use this version on the version.
Start all new sessions on a machineOn the Machines page, select Make default in the machine's menu.
Rebuild a machine on the current base imageClick Upgrade. A machine on an older base image shows Update available.
Rebuild with the latest package updatesSelect Rebuild with updates.

Fix a failed build

When a build fails, the version shows Build failed. Open Build log to see the step that failed. NocoDB can suggest a fix for the custom commands: review the Suggested fix, then click Apply fix and rebuild.

Machines that NocoAI suggests

NocoAI can suggest a change to the machine while it works, for example a package that it had to install. The chat shows a card: Add to [machine] for future sessions?.

  • Click Add and rebuild to build a new version with the change. "Rebuilds in the background. This session keeps running as is."
  • Click Not now to skip it.

If the factory has no machine, Add and rebuild creates one named Main. Only Maintainers and Owners can accept the suggestion.

A factory with no machine can need more tools than the base machine has. Then the session launcher shows "This repo needs tools the default machine doesn't have". Click Set up machine to create a machine with the tools that NocoDB found.

The Add to Main for future sessions card in the chat

Good to know

  • A workspace can build up to 3 machines at the same time.
  • Deleting a machine deletes every version. "Running sessions keep going; new ones use the default machine."
  • When the factory has two or more custom machines, the session launcher shows a machine chip. The Base machine does not count. Use it to start one session on a different machine.

Last updated on

Latest product updates?See Changelog
Stay in the loop? Follow us onLinkedInLinkedInYouTubeYouTubeXX