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