Team Leader - Nutanix Technology Champion - Nutanix NTC Storyteller

Julien DUMUR
Infrastructure in a Nutshell

As many of you know, my raw development level oscillates somewhere between absolute zero and “it miraculously started working”.

But now, the game has changed. Artificial intelligence, and more specifically CLI (Command Line Interface) coding agents like Claude Code, have given me superpowers. Suddenly, coding is no longer an insurmountable mountain, but a conversation. However, there’s a catch: to converse with the machine, your environment needs to be rock solid. And developing on Windows, historically, was a bit like trying to fit a square peg into a round hole.

Fortunately, WSL (Windows Subsystem for Linux) is here. The idea behind this guide? To save you from the cold sweats I experienced. I’m going to show you how to set up a clean Ubuntu environment on Windows, pack it with the necessary dependencies (Cargo, npm), install Claude Code, and connect it all seamlessly to Visual Studio Code.

Why bother with WSL2, you might ask? Quite simply because it allows us to completely isolate our AI tools. Claude Code will run in its own Linux sandbox, with native I/O performance, all completely independent of our Windows system. We keep full control.

Ready to transform your Windows machine into an AI-boosted development station? Follow the guide, I’ve cleared the minefield for you.

1. Enable and install WSL (Windows Subsystem for Linux)

Let’s not lie to ourselves: there was a time when installing a Linux environment on Windows was a real obstacle course. You had to dig into obscure menus, check “Windows Features”, and pray very hard. Today, Microsoft has caught up, and it all comes down to a single command line.

Installing WSL

Start by opening PowerShell as an administrator (right-click on the Start menu > Windows PowerShell (Admin) or Terminal (Administrator)).

Simply type this command and press Enter:

wsl --install

Let the magic happen. Once it’s finished, the golden rule of IT applies: restart your PC. This isn’t optional; Windows needs this reboot to activate the virtualization components at the system level.

WSL: Choosing your distribution

Upon reboot, WSL is there, but we’re going to make sure we install the right distribution. Reopen PowerShell (no need for admin rights this time).

To see what’s available in the “catalog”, type:

wsl --list --online

In our case, we’re going with the absolute standard, Ubuntu. That’s where the community is largest, and where you’ll find the most solutions if you ever run into an error message.

Launch the installation with:

wsl --install Ubuntu

A terminal window will open, asking you to create a UNIX username and a password.

Why does WSL2 change everything? For the more curious, you should know that this command enables WSL2 by default. This detail is crucial. Gone is the first version (WSL1) where Windows clumsily tried to translate Linux commands on the fly. Today, WSL2 uses a genuine, ultra-lightweight virtual machine (based on Hyper-V) with a real Linux kernel optimized by Microsoft. The result? 100% compatibility with development tools and blazing-fast file access (I/O) performance, which will be vital for Claude Code to read our code quickly.

2. Prepare the Ubuntu environment

Alright, the Linux distribution is installed, but a brand-new Linux system is like an empty apartment: it’s very clean, but you can’t do much in it.

Before bringing in our AI super-agent, we need to bring in the furniture, or rather the dependencies. Many modern CLI tools rely on very specific ecosystems.

Install Cargo (and our first AI tool)

For my own experiments, I often use the Rust ecosystem. So we’re going to install its package manager, cargo.

Type this into your Ubuntu terminal:

sudo apt install cargo

Why Cargo? Because it will allow us to install tools directly from their source code. For example, I use rtk, a highly practical AI framework. To install it, it’s as simple as this:

cargo install --git https://github.com/rtk-ai/rtk

Let it compile. It’s beautiful to watch (even if, I admit, I often watch these dozens of compilation lines scroll by like a deer in the headlights, just praying there won’t be any flashing red text at the end).

What is RTK for, you might ask? Well, it saves Claude Code tokens through automations, allowing us to chat longer with Anthropic’s AI to preserve our quotas.

Install Node.js and npm

Next, Claude Code and many other agents use web technologies. Therefore, we need npm (Node Package Manager).

Run the command:

sudo apt install npm

If a bearded and/or bald senior developer is reading this tutorial, he’s going to choke: “Ju, you never install npm via apt, it installs an old version and creates permission errors!”. And he would probably be right. The “real” best practice is to use NVM (Node Version Manager). However, let’s be pragmatic: for our specific goal of running Claude Code CLI today, the stable version provided by the Ubuntu repositories does the job perfectly. If, later on, you start racking up EACCES type errors when installing other global packages, you’ll know it’s time to clean it all up and switch to NVM!

3. Install and configure Claude Code

The official installation script

To install Claude Code, Anthropic made things simple. Well, “simple” in a Linux way. We’re going to use a tool called curl which will download a script from their servers and execute it directly on our machine.

Type this into your Ubuntu terminal:

curl -fsSL https://claude.ai/install.sh | bash

Normally, tossing an unknown script found on the net directly into your machine’s bash is the digital equivalent of picking up a USB drive on the sidewalk and plugging it straight into your PC. But hey, this is Anthropic, we’ll assume they don’t want to mine bitcoin on our backs.

The script will do its thing for a bit. And then, full of hope, eyes shining, you type claude in your terminal. And bam… claude: command not found.

Frustration. Cold sweats. Don’t panic, it’s a classic trap.

The infamous PATH trap

Why doesn’t it work on the first try?

Because Anthropic does things properly by respecting the principle of least privilege. Instead of brutally installing Claude Code at the root of your system (which would require super-administrator root rights and could break everything), the script places the executable in a neat little hidden folder of your own: ~/.local/bin.

The problem is that your Ubuntu system doesn’t look in this specific folder by default when you run a command. You have to explicitly show it the path. This is what we call the $PATH environment variable.

To fix this once and for all, we’re going to add this famous folder to our PATH. Copy and paste this line (be careful, copy it exactly with its quotes):

echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc && source ~/.bashrc

This double command does two things: it writes the correct path at the end of your personal configuration file (.bashrc), and it asks the terminal to re-read this file immediately to apply the change (source).

Now, type claude or claude --version again. If a menu or a version number appears: you’ve won!

4. Final integration with VS Code

It’s all well and good to have the Claude CLI running quietly in a terminal on WSL, but the idea is still to have it read and write code comfortably. And for that, we need our trusty Visual Studio Code.

The WSL extension for VS Code

Open VS Code normally, on Windows. Go to the extensions tab and search for WSL (formerly Remote – WSL, published directly by Microsoft). Install it.

Once installed, look at the very bottom left of the VS Code window. You will see a small blue (or green) icon with >< chevrons. Click on it, and choose the “Connect to WSL” option.

A new VS Code window will open. In the bottom left corner, it now says “WSL: Ubuntu”. Bingo.

This is where the power of the architecture I mentioned earlier hits hard. When you open a project this way, VS Code installs a mini-server directly inside your Linux machine. The graphical interface (the editor) runs on Windows, but all the development logic, the integrated terminal, and file access run natively on Ubuntu.

The Claude plugin for VS Code

Having the CLI to run global commands is great, but let’s be honest: having Claude integrated directly into the editor’s interface is the ultimate comfort.

Still in this new VS Code window (connected to WSL), go back to the extensions tab and search for the official Claude extension (or Claude Dev/Cline depending on your preference).

⚠️ Warning: VS Code now manages two distinct “zones” of extensions. Those installed on your local Windows, and those installed inside your WSL machine. Make sure to click on the small blue button “Install in WSL: Ubuntu” if VS Code prompts you.

If you mistakenly install it on the Windows side, the plugin will spin its wheels and will be completely unable to read your Linux project files or understand the commands you send it.

Once the plugin is activated on the Ubuntu side, a new icon will appear in your sidebar. There you are, with the powerful CLI in the terminal below, and the responsive visual assistant on the side. A real control tower!

Conclusion

And there you have it, full circle. In a few command lines, we’ve gone from a walled-off Windows environment to an ultra-high-performance hybrid setup. You now have a clean Ubuntu subsystem, ready to compile Rust, run Node, and above all, host your new AI assistant.

For my part, with my “weekend dev” level, this setup has changed my life. I discuss, I guide, I supervise, and Claude manages the code. How about you, what will be your first project with this new stack?

Read More

In a previous article, we saw how to deploy OpenClaw on Nutanix AHV. However, before you can fully enjoy this autonomous AI agent, it is crucial to prepare the ground. OpenClaw is not just a simple script: it’s an ecosystem that relies on several technological building blocks to “think” (local LLM), “execute” (Node.js) and “search” (SearXNG).

In this article, we are going to detail the step-by-step installation of all the necessary prerequisites on your virtual machine (running Ubuntu), explaining for each one why it is essential for OpenClaw to work properly.

1. NVIDIA Drivers: Unleashing GPU Power

OpenClaw can rely on large language models (LLMs) running locally. While it is technically possible to run these models on a processor (CPU), performance would be extremely slow. Installing NVIDIA drivers allows the system to leverage the graphics card (GPU) allocated to your VM via Nutanix AHV (vGPU or Passthrough), thereby ensuring fast and smooth AI inference.

Here is how to update your system and install the appropriate drivers:

# System update
sudo apt update && sudo apt upgrade -y

# NVIDIA server driver installation
sudo apt install nvidia-driver-535-server -y

# Reboot required to take effect
sudo reboot

After the reboot, check that your GPU is correctly recognized with the following command:

nvidia-smi

2. Node.js (v24): OpenClaw’s Execution Engine

The core logic of OpenClaw is developed in JavaScript/TypeScript. Node.js is the execution environment that allows running the agent’s code, managing its dependencies, and orchestrating calls between the interface, the AI model, and the various tools. We are targeting version 24.x here to ensure optimal compatibility.

# Adding the NodeSource repository and installing
curl -fsSL [https://deb.nodesource.com/setup_24.x](https://deb.nodesource.com/setup_24.x) | sudo -E bash -
sudo apt install -y nodejs

# Verifying the installed version
node --version  # should display v24.x

3. Ollama & Qwen 2.5: The Local Brain of the Operation

Ollama is the tool that will allow us to easily download and run our AI model locally. For OpenClaw, we are going to use the Qwen2.5 (7B) model. Why this choice? It’s a lightweight model (suitable for GPUs with about 8 GB of VRAM) and, above all, it is excellent at “Tool Calling”. It is this capability that allows OpenClaw to understand that it needs to execute a web search or run a script rather than simply generating text.

# Installing Ollama
curl -fsSL [https://ollama.ai/install.sh](https://ollama.ai/install.sh) | sh

# Start the Ollama service (in the background)
ollama serve &

# In another terminal, verify that Ollama detects the GPU:
nvidia-smi  # You should see ollama in the list of GPU processes

# Pull (download) the recommended model
ollama pull qwen2.5:7b

# Test the model and verify its execution on the GPU
ollama run qwen2.5:7b "say hello"

# While the model is generating a response, check VRAM usage
nvidia-smi

4. Docker: The Containerization Infrastructure

In order to extend OpenClaw’s capabilities (especially for web search which we will see next), we need third-party services. Docker allows these services to be deployed in an isolated, standardized, and fast manner, without polluting our host system with multiple complex dependencies.

# Installing initial dependencies
sudo apt update
sudo apt install -y ca-certificates curl gnupg

# Adding Docker's official GPG key
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL [https://download.docker.com/linux/ubuntu/gpg](https://download.docker.com/linux/ubuntu/gpg) | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# Configuring the Docker repository
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
  [https://download.docker.com/linux/ubuntu](https://download.docker.com/linux/ubuntu) \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# Installing Docker packages
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# Adding your user to the docker group to avoid using 'sudo' every time
sudo usermod -aG docker $USER
newgrp docker

# Verifying the installation
docker --version

5. SearXNG: Giving AI Access to the Web

For OpenClaw to be a truly performant search agent, it cannot rely solely on the data contained in the Qwen model (which stops at its training date). SearXNG is a privacy-respecting metasearch engine. By installing it via Docker, we provide OpenClaw with an API (on port 8080) that it can use to retrieve real-time information from the web and source its answers.

# Create a dedicated directory for configuration
mkdir -p ~/searxng && cd ~/searxng

# Run the SearXNG container
docker run -d \
  --name searxng \
  --restart unless-stopped \
  -p 8080:8080 \
  searxng/searxng

# Verify that the container is running correctly
docker ps

# Test that the SearXNG API is responding
curl http://localhost:8080

6. Homebrew & GCC: The Compilation Tools

The OpenClaw Node.js ecosystem sometimes relies on low-level libraries or native packages that need to be compiled directly on your machine during installation. Homebrew (the well-known package manager on macOS, also very handy on Linux) and the GCC compiler are essential to avoid errors during the final dependency installation phase (the famous npm install).

# Install the base Ubuntu compilation package
sudo apt-get install build-essential

# Install Homebrew
/bin/bash -c "$(curl -fsSL [https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh](https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh))"

# The end-of-installation instructions for Homebrew will ask you
# to add Homebrew to your PATH. Generally, it looks like this:
# (Make sure to adapt the path if necessary)
echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> /home/$USER/.bashrc
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"

# Install GCC via Homebrew
brew install gcc

Conclusion

Your virtual machine on Nutanix AHV is now a rich and complete environment, equipped with high-performance GPU drivers, an execution engine (Node.js), an LLM ready to answer (Ollama), web access (SearXNG), and the right compilation tools.

The groundwork is perfectly laid. All that’s left is for you to finalize the installation of the application itself by following the rest of our guide on OpenClaw.

Read More
openclaw on nutanix ahv

If you read my previous article detailing the architecture and the technical stack I chose to deploy OpenClaw, you already know why I decided to run this solution on my Nutanix AHV cluster. Today, we’re getting practical! I will show you, step by step, how to deploy your own instance on a freshly installed Ubuntu virtual machine.

Before kicking off the hostilities, here is a quick reminder of my setup. I provisioned a VM on Nutanix AHV with:

  • 8 vCPUs
  • 32 GB of RAM
  • 250 GB of storage
  • an NVIDIA Tesla P4 graphics card in PCI Passthrough

💡 Why favor full Passthrough over vGPU (virtual GPU)? Quite simply to guarantee near “bare-metal” inference performance. By giving our VM direct and exclusive access to the physical hardware, we completely eliminate the overhead (latency) associated with the virtualization layer.

Let’s start the deployment.

Preparing the Ubuntu VM: System and NVIDIA Drivers

The very first step is to prepare the ground to deploy our AI.

Ubuntu 24.04: Operating System Update

This is a rule I apply every single time I deploy a new operating system. As soon as I connect via SSH, I make sure all packages are up to date to avoid future security flaws or dependency conflicts.

sudo apt update && sudo apt upgrade -y

GPU: Installing NVIDIA Drivers

For OpenClaw to harness the computing power of my Tesla P4, the operating system must be able to communicate with it properly. Here are the commands to run to install the drivers (you can access a more detailed guide on the blog):

sudo apt install nvidia-driver-535-server -y
sudo reboot

Once the machine has rebooted, we log back in and type the command to verify that our GPU is properly detected and ready to work:

nvidia-smi

Node.js and OpenClaw

Installing Node.js 22

OpenClaw is built on Node.js. To ensure we have a recent and efficient runtime environment (here version 22), we add the official NodeSource repository before launching the installation:

curl -fsSL [https://deb.nodesource.com/setup_22.x](https://deb.nodesource.com/setup_22.x) | sudo -E bash -
sudo apt install -y nodejs

Basic OpenClaw Deployment

Now that NodeJS is in place, we move on to installing OpenClaw. A simple curl script provided by the developers does the heavy lifting:

curl -fsSL [https://openclaw.ai/install.sh](https://openclaw.ai/install.sh) | bash

Once the installation is complete, the system automatically launches the configuration wizard for your instance. I will detail this step as well as the creation of API keys (Discord, Telegram, etc.) in a future blog post.

A small manipulation is required right after the OpenClaw installation if we want to be able to use “openclaw” commands without constraints. We need to add the local installation directory to our PATH environment variable (remember to adapt the username if you are not using administrateur):

export PATH="/home/administrateur/.npm-global/bin:$PATH"

💡 Why this manipulation? It’s an excellent security practice that I highly recommend. By exporting the PATH to ~/.npm-global/bin, we avoid installing global NPM packages with root (sudo) privileges. This significantly reduces attack surfaces and saves you from the eternal Linux permission conflicts!

Cleanly Exposing OpenClaw with Caddy

By default, the OpenClaw web interface listens on port 18789. Instead of attacking this port directly, I always prefer to place a reverse proxy in front of my applications. For this lab, my choice fell on Caddy.

sudo apt install -y caddy

💡 Why Caddy rather than Apache or Nginx? Because Caddy is formidably efficient. Where Nginx sometimes requires long configuration blocks for simple proxying, Caddy does the same job in literally three lines of code, all while being ultra-lightweight.

We edit its configuration file:

sudo vi /etc/caddy/Caddyfile

And we replace the entire content with the following instructions (replace the IP with the one of your VM, in my case 192.168.84.134):

192.168.84.134 {
    reverse_proxy 127.0.0.1:18789
}

Now, all that’s left is to restart the service so the proxy takes over:

sudo systemctl restart caddy

Network Security: Locking Down the OpenClaw Instance

Having a functional instance is good, securing it is essential. Even if you are on your local network (LAN), you should never leave open access to your control interface. We are going to apply a strict configuration via the OpenClaw CLI commands.

We start by restricting the Gateway listening to the local loopback to prevent any direct access:

openclaw config set gateway.bind loopback

We then force the operating mode to local, and activate token authentication (the bare minimum):

openclaw config set gateway.mode local
openclaw config set gateway.auth.mode token

Finally, since we are going through Caddy, we must authorize Cross-Origin requests (CORS) coming from our IP address, otherwise the browser will block the page (don’t forget to adapt the IP):

openclaw config set gateway.controlUi.allowedOrigins '["[https://192.168.84.134](https://192.168.84.134)"]'

We restart the service to apply our lockdown:

openclaw gateway restart

💡 The security pattern applied here is akin to local “Zero Trust”. By forcing OpenClaw on the loopback (127.0.0.1), we ensure that absolutely all traffic is forced to go through our Caddy proxy. Coupled with CORS filtering and authentication, we provide a baseline protection for our instance against potential scans or malicious scripts on the network.

First Contact and Configuration Validation

Retrieving the Access Token

Now that the doors are locked, we need the key. The authentication token was automatically generated during installation. We’re going to go fish it directly out of the JSON configuration file:

grep -i token ~/.openclaw/openclaw.json

Carefully copy this string of characters. Then open your browser and access your Web interface (e.g., https://192.168.84.134).

Enter the token in the “Gateway Token” box.

Device Approval

Once connected, you will notice that something is missing: the system is waiting for us to approve the “device” (the PC or tablet from which we wish to use OpenClaw) to grant it the right to process requests.

Return to your terminal to list the pending devices:

openclaw devices list

Locate your device ID in the list (a UUID-type string) and approve it:

openclaw devices approve b7beb7fa-fa4e-46e9-aec1-282bcce881f6

💡 Device approval (devices approve) is much more than a simple interface formality. It’s a sort of cryptographic handshake. This mechanism guarantees that no unsolicited machine can attach itself to your OpenClaw cluster instance without your knowledge!

Interaction Tests

The OpenClaw instance is now 100% operational! To validate our entire stack, there’s nothing like a full-scale test. You can send a first prompt on the web interface’s integrated chat, or configure a bridge to send a message on the Discord side.

Conclusion

We went from a simple Ubuntu VM to a true secured inference server, powered by Node.js and accelerated by a dedicated NVIDIA Tesla P4 GPU via Nutanix AHV. The architecture is clean, secured behind a Caddy proxy, and ready to handle our requests.

But this is only the beginning. In upcoming articles, we will go even further: I will show you how to configure OpenClaw via the startup wizard, deploy local models via Ollama, create an interactive Discord bot, and even inject Google API keys to equip our AI with search capabilities. Stay tuned!

Read More

If you follow my ramblings on the blog, you know I love tinkering with my clusters and testing somewhat out-of-the-box stuff (cf. my Steamdeck articles for example). Recently, I had a thought: Gemini or Claude in the public cloud is great for coding a Python script or writing emails. But when it comes to asking it to interact with our local infrastructure, that’s where it gets stuck.

So I wondered how I could connect artificial intelligence closer to my VMs. With this in mind, I got my hands on OpenClaw. Honestly, it was a bit of an obstacle course at the start. No more simple conversational gadgets, here we are talking about deploying a true Private AI on a Nutanix AHV cluster capable of acting on our infrastructure. Let me present the tech stack I chose for this experiment.

What is OpenClaw?

For those who have been living in a cave these past few months, OpenClaw is a GitHub project that exceeded 300k stars in just a few months. Imagine an ultra-intelligent thought translator coupled with a butler. Instead of clicking through dozens of menus in a complex interface, you simply ask your infrastructure to work for you in natural language (via a universal web interface or even messaging apps like WhatsApp and Telegram). It is even capable of working on its own while you sleep!

But where it gets exciting for us engineers is under the hood. OpenClaw is not just another “stateless” Large Language Model (LLM) that forgets everything with each new request. It is a true Agentic Gateway. Concretely, this means it orchestrates autonomous agents equipped with tools. These agents can be configured to tap directly into our cluster’s private APIs (like the REST APIs of Prism Element or Prism Central), code, browse the web, and synthesize certain information. In short, we don’t just ask the AI questions anymore, we delegate tasks to it.

Why Self-hosted?

In the field, the question of data governance arises the second the word “AI” is pronounced. Out of the question to send sensitive information to servers over which I have no control!

Choosing the Self-hosted route with OpenClaw means taking back absolute control. Data flows, execution logs, and API credentials stay locked down warm and safe on my network, isolated from the internet if desired.

Architecture and Tech Stack

For this project, a simple “Next, Next, Finish” on the corner of a table was out of the question. Here is the robust technical architecture I ended up validating for my deployment.

The Foundation: Nutanix AHV & Ubuntu 24.04 LTS

To run this beast, you need solid foundations. I provisioned a virtual machine running Ubuntu 24.04 LTS hosted directly on my Nutanix AHV cluster.

On the sizing side, I went with 8 vCPUs, 32 GB of RAM, and 250 GB of dedicated storage. You might tell me: “32 GB for a gateway, isn’t that a bit too much?” The gateway will have to ingest substantial data streams, maintain the cache of the various active agents, and potentially handle heavy parallel API querying. And besides, I can allocate these resources in my lab, so why deprive myself?

The Application Engine: NodeJS 22

At the heart of OpenClaw, the magic happens thanks to NodeJS 22. It is the execution engine that runs the gateway and its AI agent integrations.

Why is Node 22 an excellent architectural choice here? For its asynchronous management (Event Loop). When you ask OpenClaw to do a status report on 50 VMs, the gateway will initiate multiple API calls to Prism Central while keeping your WebSocket stream open to reply in real-time in the chat interface. NodeJS excels in this non-blocking concurrency management.

Network Routing: Caddy

The usual operating mode for OpenClaw is to deploy it locally on the machine from which you will connect to it, or to set up a tunnel to access the remote instance. Let’s not lie to ourselves, I wanted to type the IP in my browser and be able to access my instance, whether I’m on my PC or my tablet.

To make this possible, I use a Caddy Reverse Proxy. Caddy manages traffic routing and HTTPS encryption fully automatically.

I can already hear you saying: “Yes, but if a guy connects to your local network, he will have access to your instance!”. Well no! Because OpenClaw natively integrates a Device Whitelisting system. If your PC has never been connected to the instance, you will have to provide the “Gateway Token”. Then, you will have to accept this new connection on the OpenClaw instance side. As you can see, only previously authorized devices can enjoy your local instance.

The Entry Point: Discord

The choice of entry point, which will allow you to interact with OpenClaw, is often a matter of taste and colors.

OpenClaw directly integrates a chat system so you can talk to it. It’s good, it’s native, but inaccessible if I’m not at home. The system also offers to configure external entry points like Telegram, WhatsApp, Discord, or even Teams and Slack. And that is clearly a big plus because it gives almost unlimited possibilities!

What’s Next?

The goal of this article was to present the architecture envisioned for my OpenClaw assistant, to understand what we are deploying and why. We therefore have a coherent technical stack, performant thanks to Nutanix AHV, and hosted locally.

In a future article, I will explain how to install OpenClaw step by step until you have a functional instance.

Read More