1--- 2title: Build server infrastructure 3sidebar_title: Server infrastructure 4maxHeadingDepth: 4 5description: Learn about the current build server infrastructure when using EAS. 6--- 7 8import { Collapsible } from '~/ui/components/Collapsible'; 9 10> This document describes the current build infrastructure as of **June 27, 2022**. It is likely to change over time, and this document will be updated. 11 12## Builder IP addresses 13 14Here is the [up-to-date list of builder IP addresses](https://expo.dev/eas-build-worker-ips.txt). 15 16## Configuring build environment 17 18Images for each platform have one specific version of Node.js, yarn, CocoaPods, Xcode, Ruby, Fastlane, and so on. You can override some of the versions in [eas.json](/build/eas-json). 19If there is no dedicated configuration option you're looking for, you can use [npm hooks](npm-hooks) to install or update any system dependencies with `apt-get` or `brew`. Please take into account that those customizations are applied during the build and will increase your build times. 20 21When selecting an image for the build you can use the full name provided below or one of the aliases: `default`, `latest`. 22 23- The use of a specific name guarantees the consistent environment with only minor updates. 24- `default` alias will be assigned to the environment that most closely resembles the configuration used for Expo SDK development. 25- `latest` alias will be assigned to the image with the most up to date versions of the software. 26 27> **info** **Note:** If you do not provide `image` in **eas.json**, your build will use `default` image. However, in some cases, we select a more appropriate image based on the Expo SDK version or React Native version. 28> You can check what image is used for a build in the "Spin up build environment" build logs section. 29 30## Android build server configurations 31 32Android builders run on virtual machines in an isolated environment. Every build gets its own dedicated VM instance. 33 34- Build resources: 35 - [`medium`](eas-json/#resourceclass-1): 4 CPU, 16 GB RAM ([`n2-standard-4`](https://cloud.google.com/compute/docs/general-purpose-machines#n2_machines) Google Cloud machine type) 36 - [`large`](eas-json/#resourceclass-1): 8 CPU, 32 GB RAM ([`n2-standard-8`](https://cloud.google.com/compute/docs/general-purpose-machines#n2_machines) Google Cloud machine type) 37- [npm cache deployed with Kubernetes](caching/#javascript-dependencies) 38- [Maven cache deployed with Kubernetes](caching/#android-dependencies) 39- Global Gradle configuration in **~/.gradle/gradle.properties**: 40 41 ```ini ~/.gradle/gradle.properties 42 org.gradle.jvmargs=-Xmx14g -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 43 org.gradle.parallel=true 44 org.gradle.configureondemand=true 45 org.gradle.daemon=false 46 ``` 47 48- Global npm configuration in **~/.npmrc**: 49 50 ```ini ~/.npmrc 51 registry=http://npm-cache-service.worker-infra-production.svc.cluster.local:4873 52 ``` 53 54- Global Yarn configuration in **~/.yarnrc.yml**: 55 56 ```yml ~/.yarnrc.yml 57 unsafeHttpWhitelist: 58 - '*' 59 npmRegistryServer: 'http://npm-cache-service.worker-infra-production.svc.cluster.local:4873' 60 enableImmutableInstalls: false 61 ``` 62 63### Android server images 64 65#### `ubuntu-22.04-jdk-11-ndk-r21e` (alias `latest`) 66 67<Collapsible summary="Details"> 68 69- Docker image: `ubuntu:jammy-20220531` 70- NDK 21.4.7075529 71- Node.js 16.18.1 72- Yarn 1.22.17 73- pnpm 7.0.0 74- npm 8.19.2 75- Java 11 76 77</Collapsible> 78 79#### `ubuntu-22.04-jdk-8-ndk-r21e` 80 81<Collapsible summary="Details"> 82 83- Docker image: `ubuntu:jammy-20220531` 84- NDK 21.4.7075529 85- Node.js 16.18.1 86- Yarn 1.22.17 87- pnpm 7.0.0 88- npm 8.19.2 89- Java 8 90 91</Collapsible> 92 93#### `ubuntu-20.04-jdk-11-ndk-r21e` (alias `default`) 94 95<Collapsible summary="Details"> 96 97- Docker image: `ubuntu:focal-20210921` 98- NDK 21.4.7075529 99- Node.js 16.18.1 100- Yarn 1.22.17 101- pnpm 7.0.0 102- npm 8.19.2 103- Java 11 104 105</Collapsible> 106 107#### `ubuntu-20.04-jdk-8-ndk-r21e` 108 109<Collapsible summary="Details"> 110 111- Docker image: `ubuntu:focal-20210921` 112- NDK 21.4.7075529 113- Node.js 16.18.1 114- Yarn 1.22.17 115- pnpm 7.0.0 116- npm 8.19.2 117- Java 8 118 119</Collapsible> 120 121#### `ubuntu-18.04-jdk-11-ndk-r19c` 122 123<Collapsible summary="Details"> 124 125- Docker image: `ubuntu:bionic-20210930` 126- NDK 19.2.5345600 127- Node.js 16.18.1 128- Yarn 1.22.17 129- pnpm 7.0.0 130- npm 8.19.2 131- Java 11 132 133</Collapsible> 134 135#### `ubuntu-18.04-jdk-8-ndk-r19c` 136 137<Collapsible summary="Details"> 138 139- Docker image: `ubuntu:bionic-20210930` 140- NDK 19.2.5345600 141- Node.js 16.18.1 142- Yarn 1.22.17 143- pnpm 7.0.0 144- npm 8.19.2 145- Java 8 146 147</Collapsible> 148 149## iOS build server configurations 150 151iOS builder VMs run on Mac Mini 8.1 hosts in an isolated environment. Every build gets its own fresh macOS VM: 152 153- Hardware: 154 - Intel: Intel(R) Core(TM) i7-8700B CPU (6 cores/12 threads), 64 GB RAM 155 - M1: 3.2GHz 8-Core M1 (4 performance and 4 efficiency cores), 16 GB RAM 156 - M2: 3.4GHz 12-Core M2 (8 performance and 4 efficiency cores), 24 GB RAM 157- Build resources: 158 - [`intel-medium`](eas-json/#resourceclass-2): 3 cores, 12 GB RAM, 2 builder VMs per host 159 - [`m-medium`](eas-json/#resourceclass-2): 2 cores, 8 GB RAM, 2 builder VMs per host 160- [npm cache](caching/#javascript-dependencies) 161- [CocoaPods cache](caching/#ios-dependencies) 162- [`cocoapods-nexus-plugin`](https://github.com/expo/eas-build/tree/main/packages/cocoapods-nexus-plugin) 163- Global npm configuration in **~/.npmrc**: 164 165 ```ini ~/.npmrc 166 registry=http://10.254.24.9:4873 167 ``` 168 169- Global Yarn configuration in **~/.yarnrc.yml**: 170 171 ```yml ~/.yarnrc.yml 172 unsafeHttpWhitelist: 173 - '*' 174 npmRegistryServer: 'registry=http://10.254.24.9:4873' 175 enableImmutableInstalls: false 176 ``` 177 178### iOS server images 179 180#### `macos-ventura-13.3-xcode-14.3` (`latest` for Apple silicon builders, only available for Apple silicon builders) 181 182<Collapsible summary="Details"> 183 184- macOS Ventrua 13.3 185- Xcode 14.3 (14E222b) 186- Node.js 16.18.1 187- Yarn 1.22.17 188- pnpm 8.2.0 189- npm 8.1.2 190- fastlane 2.212.2 191- CocoaPods 1.12.0 192- Ruby 2.7 193 194</Collapsible> 195 196#### `macos-monterey-12.6-xcode-14.2` (`latest` for Intel builders, `default` for Apple silicon builders) 197 198<Collapsible summary="Details"> 199 200- macOS Monterey 12.6 201- Xcode 14.2 (14C18) 202- Node.js 16.18.1 203- Yarn 1.22.17 204- pnpm 7.27.0 205- npm 8.19.2 206- fastlane 2.211.0 207- CocoaPods 1.11.3 208- Ruby 2.7 209 210</Collapsible> 211 212#### `macos-monterey-12.6-xcode-14.1` (`default` for Intel builders) 213 214<Collapsible summary="Details"> 215 216- macOS Monterey 12.6 217- Xcode 14.1 (14B47b) 218- Node.js 16.18.1 219- Yarn 1.22.17 220- pnpm 7.15.0 221- npm 8.19.2 222- fastlane 2.210.1 223- CocoaPods 1.11.3 224- Ruby 2.7 225 226</Collapsible> 227 228#### `macos-monterey-12.6-xcode-14.0` 229 230<Collapsible summary="Details"> 231 232- macOS Monterey 12.6 233- Xcode 14.0 (14A309) 234- Node.js 16.18.1 235- Yarn 1.22.17 236- pnpm 7.11.0 237- npm 8.19.2 238- fastlane 2.210.0 239- CocoaPods 1.11.3 240- Ruby 2.7 241 242</Collapsible> 243 244#### `macos-monterey-12.4-xcode-13.4` 245 246<Collapsible summary="Details"> 247 248- macOS Monterey 12.4 249- Xcode 13.4 (13F17a) 250- Node.js 16.18.1 251- Yarn 1.22.17 252- pnpm 7.0.0 253- npm 8.19.2 254- fastlane 2.205.2 255- CocoaPods 1.11.3 256- Ruby 2.7 257 258</Collapsible> 259 260#### `macos-big-sur-11.4-xcode-13.0` 261 262<Collapsible summary="Details"> 263 264- macOS Big Sur 11.4 265- Xcode 13.0 (13A233) 266- Node.js 16.18.1 267- Yarn 1.22.17 268- pnpm 7.0.0 269- npm 8.19.2 270- fastlane 2.185.1 271- CocoaPods 1.10.1 272- Ruby 2.7 273 274</Collapsible> 275 276#### `macos-monterey-12.3-xcode-13.3` (deprecated) 277 278<Collapsible summary="Details"> 279 280- macOS Monterey 12.3.1 281- Xcode 13.3.1 (13E500a) 282- Node.js 16.18.1 283- Yarn 1.22.17 284- pnpm 7.0.0 285- npm 8.19.2 286- fastlane 2.205.2 287- CocoaPods 1.11.3 288- Ruby 2.7 289 290</Collapsible> 291 292#### `macos-monterey-12.1-xcode-13.2` (deprecated) 293 294<Collapsible summary="Details"> 295 296- macOS Monterey 12.1 297- Xcode 13.2.1 (13C100) 298- Node.js 16.18.1 299- Yarn 1.22.17 300- pnpm 7.0.0 301- npm 8.19.2 302- fastlane 2.201.0 303- CocoaPods 1.11.2 304- Ruby 2.7 305 306</Collapsible> 307 308#### `macos-big-sur-11.4-xcode-12.5` (deprecated, only available for Intel builders) 309 310<Collapsible summary="Details"> 311 312- macOS Big Sur 11.4 313- Xcode 12.5 (12E5244e) 314- Node.js 16.18.1 315- Yarn 1.22.17 316- pnpm 7.0.0 317- npm 8.19.2 318- fastlane 2.185.1 319- CocoaPods 1.10.1 320- Ruby 2.7 321 322</Collapsible> 323