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 was last updated on **May 5, 2023**. 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 - M2 Pro: 3.4GHz 10-Core M2 Pro (6 performance and 4 efficiency cores), 32 GB RAM 158- Build resources: 159 - [`intel-medium`](eas-json/#resourceclass-2): 3 cores, 12 GB RAM, 2 builder VMs per host 160 - [`m-medium`](eas-json/#resourceclass-2): 2 cores, 8 GB RAM, 2 builder VMs per host 161 - [`large`](eas-json/#resourceclass-2): 4 cores, 12 GB RAM, 2 builder VMs per host (for builds running on M2 Pro hosts) or 4 cores, 22 GB RAM, 1 builder VM per host (for builds running on M2 hosts) 162- [npm cache](caching/#javascript-dependencies) 163- [CocoaPods cache](caching/#ios-dependencies) 164- [`cocoapods-nexus-plugin`](https://github.com/expo/eas-build/tree/main/packages/cocoapods-nexus-plugin) 165- Global npm configuration in **~/.npmrc**: 166 167 ```ini ~/.npmrc 168 registry=http://10.254.24.9:4873 169 ``` 170 171- Global Yarn configuration in **~/.yarnrc.yml**: 172 173 ```yml ~/.yarnrc.yml 174 unsafeHttpWhitelist: 175 - '*' 176 npmRegistryServer: 'registry=http://10.254.24.9:4873' 177 enableImmutableInstalls: false 178 ``` 179 180### iOS server images 181 182#### `macos-ventura-13.3-xcode-14.3` (`latest` for Apple silicon builders, only available for Apple silicon builders) 183 184<Collapsible summary="Details"> 185 186- macOS Ventrua 13.3 187- Xcode 14.3 (14E222b) 188- Node.js 16.18.1 189- Yarn 1.22.17 190- pnpm 8.2.0 191- npm 8.1.2 192- fastlane 2.212.2 193- CocoaPods 1.12.0 194- Ruby 2.7 195 196</Collapsible> 197 198#### `macos-monterey-12.6-xcode-14.2` (`latest` for Intel builders, `default` for Apple silicon builders) 199 200<Collapsible summary="Details"> 201 202- macOS Monterey 12.6 203- Xcode 14.2 (14C18) 204- Node.js 16.18.1 205- Yarn 1.22.17 206- pnpm 7.27.0 207- npm 8.19.2 208- fastlane 2.211.0 209- CocoaPods 1.11.3 210- Ruby 2.7 211 212</Collapsible> 213 214#### `macos-monterey-12.6-xcode-14.1` (`default` for Intel builders) 215 216<Collapsible summary="Details"> 217 218- macOS Monterey 12.6 219- Xcode 14.1 (14B47b) 220- Node.js 16.18.1 221- Yarn 1.22.17 222- pnpm 7.15.0 223- npm 8.19.2 224- fastlane 2.210.1 225- CocoaPods 1.11.3 226- Ruby 2.7 227 228</Collapsible> 229 230#### `macos-monterey-12.6-xcode-14.0` 231 232<Collapsible summary="Details"> 233 234- macOS Monterey 12.6 235- Xcode 14.0 (14A309) 236- Node.js 16.18.1 237- Yarn 1.22.17 238- pnpm 7.11.0 239- npm 8.19.2 240- fastlane 2.210.0 241- CocoaPods 1.11.3 242- Ruby 2.7 243 244</Collapsible> 245 246#### `macos-monterey-12.4-xcode-13.4` 247 248<Collapsible summary="Details"> 249 250- macOS Monterey 12.4 251- Xcode 13.4 (13F17a) 252- Node.js 16.18.1 253- Yarn 1.22.17 254- pnpm 7.0.0 255- npm 8.19.2 256- fastlane 2.205.2 257- CocoaPods 1.11.3 258- Ruby 2.7 259 260</Collapsible> 261 262#### `macos-big-sur-11.4-xcode-13.0` 263 264<Collapsible summary="Details"> 265 266- macOS Big Sur 11.4 267- Xcode 13.0 (13A233) 268- Node.js 16.18.1 269- Yarn 1.22.17 270- pnpm 7.0.0 271- npm 8.19.2 272- fastlane 2.185.1 273- CocoaPods 1.10.1 274- Ruby 2.7 275 276</Collapsible> 277 278#### `macos-monterey-12.3-xcode-13.3` (deprecated) 279 280<Collapsible summary="Details"> 281 282- macOS Monterey 12.3.1 283- Xcode 13.3.1 (13E500a) 284- Node.js 16.18.1 285- Yarn 1.22.17 286- pnpm 7.0.0 287- npm 8.19.2 288- fastlane 2.205.2 289- CocoaPods 1.11.3 290- Ruby 2.7 291 292</Collapsible> 293 294#### `macos-monterey-12.1-xcode-13.2` (deprecated) 295 296<Collapsible summary="Details"> 297 298- macOS Monterey 12.1 299- Xcode 13.2.1 (13C100) 300- Node.js 16.18.1 301- Yarn 1.22.17 302- pnpm 7.0.0 303- npm 8.19.2 304- fastlane 2.201.0 305- CocoaPods 1.11.2 306- Ruby 2.7 307 308</Collapsible> 309 310#### `macos-big-sur-11.4-xcode-12.5` (deprecated, only available for Intel builders) 311 312<Collapsible summary="Details"> 313 314- macOS Big Sur 11.4 315- Xcode 12.5 (12E5244e) 316- Node.js 16.18.1 317- Yarn 1.22.17 318- pnpm 7.0.0 319- npm 8.19.2 320- fastlane 2.185.1 321- CocoaPods 1.10.1 322- Ruby 2.7 323 324</Collapsible> 325