# github actions, remote builder vs local builder

**URL:** <https://community.fly.io/t/github-actions-remote-builder-vs-local-builder/11508>\
**Category:** General\
**Tags:** login-only\
**Created:** [March 16, 2023, 1:46am UTC](https://community.fly.io/t/github-actions-remote-builder-vs-local-builder/11508 "2023-03-16T01:46:03Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![bulk88](https://avatars.discourse-cdn.com/v4/letter/b/ea666f/32.png) [@bulk88](https://community.fly.io/u/bulk88)\
**Post date:** [March 16, 2023, 1:46am UTC](https://community.fly.io/t/github-actions-remote-builder-vs-local-builder/11508/1 "2023-03-16T01:46:03Z")

</div>

So my current fly app deploys using GH github Actions and follows the instructions here

> **[Continuous Deployment with Fly.io and GitHub Actions](https://fly.io/docs/app-guides/continuous-deployment-with-github-actions/)**
>
> Documentation and guides from the team at Fly.io.

But I notice `flyctl deploy --remote-only`, so I assume 99% of the CPU to make the docker image, is running on a Fly VM, and not a GH VM. Can someone explain pros or cons, of why 2 VMs are running? How come the standard recipe doesn’t use the GH VM for heavy lifting? Is the fly VM faster than a GH Vm or base builder root fs image is somehow magically better start up/lower cpu/low ram/etc?

Could I cut out github actions and flyctl binary, and just run a REST/fetch() command from Cloudflare Workers or Chrome Browser or curl to run the Fly image builder VM?

---

<div class="post-metadata">

**Author:** ![kurt](https://sea1.discourse-cdn.com/fly1/user_avatar/community.fly.io/kurt/32/43757_2.png) [@kurt](https://community.fly.io/u/kurt)\
**Post date:** [March 16, 2023, 3:36am UTC](https://community.fly.io/t/github-actions-remote-builder-vs-local-builder/11508/2 "2023-03-16T03:36:56Z")

</div>

Caching Docker layers in GitHub Actions is kind of complicated. The remote builder handles caching for you, so it’s generally faster unless you do a bunch of GitHub Actions config.

You can’t really get at the builders via HTTP. Our CLI connects to them over WireGuard.

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/fly1/original/3X/6/e/6e8955d00cb218e186ebbe3a6ab06fefdce15290.svg) [@system](https://community.fly.io/u/system)\
**Post date:** [March 23, 2023, 3:37am UTC](https://community.fly.io/t/github-actions-remote-builder-vs-local-builder/11508/3 "2023-03-23T03:37:36Z")

</div>

Closed on March 23, 2023, 3:37am UTC

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.
