# Bring Your Own Machine (BYOM)

Enable and connect your own machine as a Droid Computer.

Bring Your Own Machine (BYOM) lets you register your own Linux, macOS, or Windows machine as a Droid Computer. This is useful when you want Droid to work inside an environment you already manage, such as a VPS, cloud VM, workstation, or on-prem server.

## Before you start

Make sure you have:

- A machine running **Linux**, **macOS**, or **Windows**
- The Droid CLI is installed on that machine
- Authenticated with Factory (`/login` in an interactive session)
- Network access to Factory APIs, specifically `relay.factory.ai`

<Note>
No inbound ports need to be opened. BYOM machines connect through Factory's relay service when you start the daemon with `--remote-access`.
</Note>

## Register with the Factory App

If you're using the Factory App, your machine will be registered automatically using your system's hostname. To enable it as a remote Droid Computer, open **Settings → Droid Computers** and switch on the **Remote Access** toggle. This will automatically connect your local machine to our relay service to be reachable from other devices, and the connection will remain active for as long as the Factory App is running.

## Register with the CLI

```bash
droid daemon --remote-access
```

If not registered, this will prompt you for a Droid Computer name and register the machine automatically.

If you want to register the machine manually first, you can still run `droid computer register [name]`, then start `droid daemon --remote-access` to connect through Factory's relay service.

<Note>
Only one Droid Computer registration is allowed per machine at a time. Run `droid computer remove` first, or delete the machine through the settings page, if you need to re-register.
</Note>

## Troubleshooting availability

<Troubleshooting>
  <TroubleshootingItem title="Machine is not listed">
    Check **Settings → Droid Computers** to confirm the machine is listed.
  </TroubleshootingItem>

  <TroubleshootingItem title="Remote Access is disabled">
    In **Settings → Droid Computers**, verify **Remote Access** is enabled for that machine.
  </TroubleshootingItem>

  <TroubleshootingItem title="Daemon is not running">
    Make sure the daemon is running with `droid daemon --remote-access`.
  </TroubleshootingItem>

  <TroubleshootingItem title="Droid Computers page is missing">
    Contact an organization Manager, Owner, or Factory support.
  </TroubleshootingItem>
</Troubleshooting>

## Managing and updating a BYOM machine

- Use `droid computer list` to see registered Droid Computers
- Use `droid computer ssh <name>` to open an SSH session to a Droid Computer
- Use `droid computer remove` to unregister the current machine and clean up local config
- Update the Droid CLI manually on the machine, then restart the daemon process

BYOM Droid Computers use whatever git credentials are already configured on the machine.

## Security and networking notes

{/* sweep-allow: term-bullets */}

- **Relay mode**: BYOM machines route traffic through Factory's relay service, so no public ports are exposed
- **Credentials**: Git credentials are not managed by Factory on BYOM machines; the machine's existing git configuration is used
- **Ownership**: You are responsible for hardening and maintaining the underlying machine

<RelatedLinks>
  <RelatedLink href="/droid-computers/overview" title="Droid Computers">
    Return to the Droid Computers overview for CLI commands and management.
  </RelatedLink>
  <RelatedLink href="/droid-computers/cloud-templates" title="Cloud Templates">
    Consider Factory-managed cloud templates as an alternative compute option.
  </RelatedLink>
</RelatedLinks>
