Skip to main content

System Requirements

This page lists the minimum and recommended system requirements for developing, building, and running WSO2 Integrator projects powered by Ballerina.

Operating system support

Operating SystemArchitectureDevelopmentRuntimeNotes
macOS 12 (Monterey)x86_64SupportedSupportedIntel Macs
macOS 12+aarch64 (ARM)SupportedSupportedApple Silicon (M1/M2/M3/M4)
macOS 13 (Ventura)x86_64 / ARMSupportedSupportedRecommended for macOS
macOS 14 (Sonoma)x86_64 / ARMSupportedSupportedLatest supported
macOS 15 (Sequoia)x86_64 / ARMSupportedSupportedLatest supported
Ubuntu 20.04 LTSx86_64SupportedSupported
Ubuntu 22.04 LTSx86_64 / ARMSupportedSupportedRecommended for Linux
Ubuntu 24.04 LTSx86_64 / ARMSupportedSupportedLatest supported
Debian 11+x86_64SupportedSupported
RHEL 8+x86_64SupportedSupported
CentOS Stream 8+x86_64SupportedSupported
Amazon Linux 2x86_64SupportedRuntime only
Amazon Linux 2023x86_64 / ARMSupportedRuntime only
Windows 10x86_64SupportedSupportedVersion 1809+
Windows 11x86_64 / ARMSupportedSupported
Windows Server 2019+x86_64SupportedRuntime only
Alpine Linux 3.16+x86_64SupportedContainer runtime only

JDK requirements

Ballerina runs on the Java Virtual Machine (JVM). A compatible JDK is bundled with the Ballerina installer, but you can also use a separately installed JDK.

ComponentMinimum VersionRecommended VersionNotes
JDK (bundled)1717 (LTS)Included with Ballerina installer
JDK (external)1721 (LTS)Set via JAVA_HOME environment variable
JRE (runtime only)1721 (LTS)Sufficient for running compiled programs

Supported JDK distributions

DistributionSupportedNotes
Eclipse Temurin (Adoptium)YesRecommended
Oracle JDKYes
Amazon CorrettoYesRecommended for AWS deployments
Microsoft Build of OpenJDKYesRecommended for Azure deployments
GraalVM JDKYesRequired for native image compilation
Azul ZuluYes
Red Hat OpenJDKYes

IDE and editor requirements

ComponentMinimum VersionRecommended VersionNotes
Visual Studio Code1.80.0Latest stable
WSO2 Integrator Extension1.0.0LatestInstall from VS Code Marketplace
Ballerina Extension4.0.0LatestInstalled as dependency of WSO2 Integrator extension

VS code extension system requirements

RequirementSpecification
Memory4 GB RAM minimum, 8 GB recommended
Disk space500 MB for extension and language server
NetworkInternet access for Ballerina Central package resolution

Other supported editors

EditorSupport LevelPlugin/Extension
IntelliJ IDEACommunity pluginBallerina plugin (third-party)
Vim/NeovimLSP supportVia Ballerina Language Server
EmacsLSP supportVia Ballerina Language Server
Sublime TextSyntax highlightingBallerina syntax package

Hardware requirements

Development machine

ResourceMinimumRecommendedNotes
CPU2 cores4+ coresMore cores improve build speed
RAM4 GB8 GB+Language server and builds are memory-intensive
Disk Space2 GB5 GB+For Ballerina, dependencies, and build artifacts
NetworkInternet accessBroadbandRequired for package resolution from Central

Production runtime

ResourceMinimumRecommendedNotes
CPU1 core2+ coresScale based on workload
RAM256 MB512 MB+Per service instance; JVM heap configuration
Disk Space100 MB500 MBFor application, JRE, and logs

Docker and container requirements

ComponentMinimum VersionRecommended VersionNotes
Docker Engine20.1024.0+For building and running container images
Docker Compose2.02.20+For multi-container development
Podman4.0LatestAlternative to Docker
Container base imageballerina/ballerina:latestOfficial Ballerina runtime image
Container base image (distroless)ballerina/ballerina-runtime:latestMinimal runtime image

Kubernetes requirements

ComponentMinimum VersionRecommended VersionNotes
Kubernetes1.251.28+For orchestrated deployments
kubectl1.251.28+CLI tool matching cluster version
Helm3.103.13+For chart-based deployments

Container image sizes

ImageApproximate SizeUse Case
ballerina/ballerina:latest~350 MBDevelopment and debugging
ballerina/ballerina-runtime:latest~200 MBProduction runtime
Custom distroless~120 MBMinimal production deployment
GraalVM native image~50-80 MBOptimized startup and memory

Network requirements

PurposeProtocolPortRequired
Ballerina CentralHTTPS443Yes (for package resolution)
VS Code MarketplaceHTTPS443Yes (for extension installation)
Docker HubHTTPS443For pulling base images
Application servicesHTTP/HTTPSConfigurableAs defined by your services
Debug portTCP5005 (default)For remote debugging
Language ServerTCPManaged by VS CodeFor IDE features

GraalVM native image (Optional)

For ahead-of-time compilation to native executables:

ComponentMinimum VersionNotes
GraalVM22.3Community or Enterprise edition
GraalVM JDK17Must match Ballerina JDK requirement
native-image toolIncluded with GraalVMInstalled via gu install native-image
Additional RAM8 GB+Native image compilation is memory-intensive

See also