Skip to main content
This guide covers different methods to install and run Vespa, from quick local development setups to production deployments.

System Requirements

Before installing Vespa, ensure your system meets these requirements:

CPU Architecture

x86_64 (AMD64) or ARM64

Memory

Minimum 4GB RAM, 8GB+ recommended

Operating System

Linux (AlmaLinux 8, Ubuntu, etc.)

Java

Java 17 or later (for building applications)
For production deployments, consider Vespa Cloud for managed hosting with automated scaling, monitoring, and updates.

Installation Methods

Choose the installation method that best fits your needs:

Vespa CLI

The Vespa CLI is a command-line tool for managing Vespa applications.

Installation

brew install vespa-cli

Common Commands

# Deploy an application
vespa deploy

# Query
vespa query 'select * from music where true'

# Feed a document
vespa document put id:music:music::1 doc.json

# Check status
vespa status

# View logs
vespa log
See the Vespa CLI reference for complete documentation.

Production Considerations

When deploying Vespa in production, consider:

Hardware Requirements

Config Server

  • 2+ CPU cores
  • 4GB+ RAM
  • 50GB+ disk
  • Odd number (1, 3, or 5)

Container Nodes

  • 4+ CPU cores
  • 8GB+ RAM
  • Scales horizontally

Content Nodes

  • 8+ CPU cores
  • 16GB+ RAM
  • Fast SSD storage
  • Size based on data volume

Network

  • Low latency between nodes
  • 1Gbps+ bandwidth
  • Reliable connections

Multi-node Setup

For production, deploy Vespa across multiple nodes:
  • Config server cluster: 3 nodes for high availability
  • Container cluster: Scale based on query load
  • Content cluster: Scale based on data size and redundancy needs
Example services.xml for multi-node:
<?xml version="1.0" encoding="UTF-8"?>
<services version="1.0">
    <admin version="2.0">
        <adminserver hostalias="admin0"/>
        <configservers>
            <configserver hostalias="config0"/>
            <configserver hostalias="config1"/>
            <configserver hostalias="config2"/>
        </configservers>
    </admin>
    
    <container id="default" version="1.0">
        <search/>
        <document-api/>
        <nodes>
            <node hostalias="container0"/>
            <node hostalias="container1"/>
            <node hostalias="container2"/>
        </nodes>
    </container>
    
    <content id="content" version="1.0">
        <redundancy>2</redundancy>
        <documents>
            <document type="music" mode="index"/>
        </documents>
        <nodes>
            <node hostalias="content0" distribution-key="0"/>
            <node hostalias="content1" distribution-key="1"/>
            <node hostalias="content2" distribution-key="2"/>
        </nodes>
    </content>
</services>
See multinode systems for complete documentation.

Monitoring

Vespa exposes metrics in Prometheus format:
curl http://localhost:19092/prometheus/v1/values
Key metrics to monitor:
  • Query latency (p50, p95, p99)
  • Query throughput
  • Feed throughput
  • Disk usage
  • Memory usage
  • CPU usage

Security

For production deployments:
  • Enable TLS for all endpoints
  • Configure authentication and authorization
  • Use firewall rules to restrict access
  • Regular security updates
See securing Vespa for details.

Next Steps

Quickstart

Build your first application

Sample Apps

Explore example applications

Multi-node Setup

Deploy a distributed cluster

Operations

Learn about running Vespa

Troubleshooting

Check Docker resource limits:
docker stats vespa
Vespa needs at least 4GB RAM. Increase Docker’s memory limit if needed.
Verify the config server is running:
docker exec vespa systemctl status vespa-configserver
Check logs:
docker exec vespa vespa-logfmt | grep configserver
For ARM Macs, ensure Rosetta is installed:
softwareupdate --install-rosetta
Verify Java version:
java -version  # Should be 17+
mvn -v         # Should use Java 17+
Increase JVM memory for Maven:
export MAVEN_OPTS="-Xms256m -Xmx2048m"
For Docker, increase container memory limits.

Additional Resources

Build docs developers (and LLMs) love