Earthly Core
Achieve build repeatability
Free and Open-source
Checked bullet
Develop builds that run on any CI
Checked bullet
Run builds locally
Checked bullet
Local cache
Checked bullet
Remote shared cache
Checked bullet
Community support
Get Earthly
Earthly Satellites
Fast remote builds
$7
per active user/month
Checked bullet
Everything in Core
Checked bullet
2,000 minutes included
+500 minutes bonus per active user
Checked bullet
Run builds remotely in runners managed by the Earthly team
Checked bullet
Up to 15 satellites
Checked bullet
Rebuild only what has changed
Checked bullet
Built-in caching available instantly between runs
Checked bullet
Run x86 builds from Apple Silicon machines (Apple M1/M2)
Get started
Earthly CI
Ridiculously fast CI
Coming soon...
Checked bullet
Everything in Satellites
Checked bullet
Rebuild only what has changed
Checked bullet
Built-in caching available instantly between runs
Checked bullet
GitHub integration
Checked bullet
Automatically span builds across a compute cluster
Contact us
FAQ

What is an active user?

An active user is a user that has triggered a Satellite build at least three times during a month. Triggering a build can be done by either performing a Satellite build directly via the earthly CLI, or indirectly, by pushing code to a repository, and that push being picked up by a CI that uses a Earthly Satellites to perform the build.

What is zero-margin compute?

Zero-margin compute is a pricing model where the cost of compute is passed on directly to the user, without any profit-generating margin. This allows us, the CI vendor, to better align our incentives with the end-user. Slow builds should not mean more profit for us.

How much does compute cost?

The cost of compute is based on the AWS rack price for the instances that are used underneath, plus the cost of cache storage and the cost of network ingress/egress incurred. All of these costs are packaged as an all-inclusive per-minute cost and is then passed on directly to the user, without any profit-generating margin.

Instance type
Specs
Price per minute
Included minutes multiplier
amd64 instances:
xsmall
linux/amd64
2 vCPUs | 2 GB RAM
11 GB cache | 5 GB burst disk
$0.0013
4X
1000 min included = 4000 min on xsmall
small
linux/amd64
2 vCPUs | 4 GB RAM
22 GB cache | 10 GB burst disk
$0.0026
2X
1000 min included = 2000 min on small
medium
linux/amd64
2 vCPUs | 8 GB RAM
45 GB cache | 20 GB burst disk
$0.0052
1X
1000 min included = 1000 min on medium
large
linux/amd64
4 vCPUs | 16 GB RAM
90 GB cache | 40 GB burst disk
$0.0105
0.5X
1000 min included = 500 min on large
xlarge
linux/amd64
8 vCPUs | 32 GB RAM
180 GB cache | 80 GB burst disk
$0.0210
0.25X
1000 min included = 250 min on xlarge
arm64 instances:
xsmall
linux/arm64
2 vCPUs | 2 GB RAM
11 GB cache | 5 GB burst disk
$0.0012
4X
1000 min included = 4000 min on xsmall
small
linux/arm64
2 vCPUs | 4 GB RAM
22 GB cache | 10 GB burst disk
$0.0025
2X
1000 min included = 2000 min on small
medium
linux/arm64
2 vCPUs | 8 GB RAM
45 GB cache | 20 GB burst disk
$0.0050
1X
1000 min included = 1000 min on medium
large
linux/arm64
4 vCPUs | 16 GB RAM
90 GB cache | 40 GB burst disk
$0.0100
0.5X
1000 min included = 500 min on large
xlarge
linux/arm64
8 vCPUs | 32 GB RAM
180 GB cache | 80 GB burst disk
$0.0199
0.25X
1000 min included = 250 min on xlarge

How is my usage of Satellites tracked?

The usage of Satellites is tracked by monitoring the Satellites for active builds. If there are no active builds,the Satellite goes to sleep automatically after some time. When a Satellite is asleep, it is not billed for compute. When a build is started, the Satellite is woken up automatically and billed for compute.

How many Satellites do I need?

The number of Satellites depends on the amount of workload they need to handle. For maximum performance, you can create a different Satellite for each CI pipeline. In some setups, where the CI pipelines are small, that might be an overkill. The best method to determine the number of satellites is to start with one or two, and add more as needed.

Earthly prints information on build startup about how loaded the Satellite is currently. This can be used as a guide to determine if more Satellites are needed.

How are active users tracked?

The number of active users is tracked by monitoring who triggered the build. The build may be triggered either directly by the user in their terminal, or indirectly by a CI system. In the latter case, the triggering user is inferred via commit metadata. Each user needs to trigger the build at least three times during a month to be counted as an active user.

At the end of a billing cycle, if the number of paid users is greater than the number of active users, the difference is refunded to the user in the form of statement credit.