Installation

Installing a node means running the Varen node software on the machine you've chosen. The software runs as a Docker Compose stack — the node itself plus Qdrant (the vector index) and Ollama (local embeddings) — managed as a unit. You don't need to know Docker in detail to run it, but Docker must be installed on the host machine before you begin.

First start

The first docker compose up pulls several images and downloads the nomic-embed-text embedding model before the node starts, so the initial start takes noticeably longer than later ones — allow several minutes depending on your connection. The node also needs NET_ADMIN and /dev/net/tun for its encrypted connection back to Varen.

Choosing your platform

Varen requires a compatible Docker environment. The current Add Node flow provides Linux, Windows, and a generic Docker/manual path; compatibility depends on networking and privilege support. Three installation paths are documented, each suited to a different setup:

  • Linux — the supported shell-installer path. The host must provide Docker Compose, persistent storage, NET_ADMIN, and /dev/net/tun.
  • Windows — requires Docker Desktop to be installed and running first. After that, a PowerShell one-liner handles the rest.
  • Generic Docker — a manual Compose path for compatible NAS, Proxmox, server, or other Docker environments. Compatibility depends on TUN, privileges, persistent volumes, architecture, and outbound connectivity.

In all cases, the node software that's installed is the same. The difference is only in how you get it running and how you manage it day-to-day. Once the node is running and connected, the experience in the Varen desktop is identical regardless of what hardware it's on.

Prerequisites

  • Docker Engine 24+ with docker compose v2
  • Outbound HTTPS to varen.tech and UDP 51820 (WireGuard)
  • /dev/net/tun available (default on most Linux hosts)

Install

Open a terminal on the target machine. Set your licence key and node name as environment variables, then run the installer. The script creates the node directory, pulls the Docker image, and starts the stack in one step.

export LICENSE_KEY="<your-licence-key>"
export NODE_NAME="<your-node-name>"
curl -fsSL https://varen.tech/downloads/install-docker.sh | sh

The script creates ~/varen/<node-name>/, writes the compose file and environment configuration, pulls the images, and starts the stack. The first run also downloads the embedding model, so it can take several minutes depending on your connection and host.

Start

Start the node stack using the convenience script, or using Docker Compose directly.

cd ~/varen/<node-name>
 ./varen start

or manually

cd ~/varen/<node-name>
docker compose up -d

Stop

Stop the node stack gracefully.

cd ~/varen/<node-name>
 ./varen stop

or manually

cd ~/varen/<node-name>
docker compose down

Logs

Follow the node log output in real time. Useful for diagnosing connection problems.

cd ~/varen/<node-name>
 ./varen logs

or manually

cd ~/varen/<node-name>
docker compose logs -f varen-node

Reload

Reinstall in place. reload stops the stack, re-runs the current installer (refreshing the command, watcher, and Compose files), and starts the stack again, preserving your node data and volumes.

cd ~/varen/<node-name>
 ./varen reload

or manually

cd ~/varen/<node-name>
docker compose down
curl -fsSL https://varen.tech/downloads/install-docker.sh | sh

Uninstall

Uninstall is destructive. It removes the Qdrant and Ollama named volumes and deletes the installation directory, including the data/ bind mount containing durable node content. Export or back up the node before uninstalling.

cd ~/varen/<node-name>
 ./varen uninstall

or manually

cd ~/varen/<node-name>
sudo systemctl disable --now varen-node-watcher.timer
sudo rm -f /etc/systemd/system/varen-node-watcher.service /etc/systemd/system/varen-node-watcher.timer
docker compose down -v
cd ~ && sudo rm -rf ~/varen/<node-name>

Prerequisites

  • Docker Desktop installed and running
  • In Docker Desktop settings, enable Start Docker Desktop when you sign in to your computer — Docker Desktop, and therefore your node, only starts after a Windows user signs in; it does not run before login
  • Windows 10 (version 1903 or later) or Windows 11
  • Outbound HTTPS to varen.tech and UDP 51820 (WireGuard)

Install

Open PowerShell on the machine you want to set up. Set your licence key and node name, then run the installer. The script creates the node directory under your user profile, pulls the Docker image, and starts the stack.

$env:LICENSE_KEY="<your-licence-key>"
$env:NODE_NAME="<your-node-name>"
irm https://varen.tech/downloads/install-docker.ps1 | iex

Start

Start the node stack using the convenience script, or using Docker Compose directly.

cd $env:USERPROFILE\Varen\<node-name>
 .\varen.cmd start

or manually

cd $env:USERPROFILE\Varen\<node-name>
docker compose up -d

Stop

Stop the node stack gracefully.

cd $env:USERPROFILE\Varen\<node-name>
 .\varen.cmd stop

or manually

cd $env:USERPROFILE\Varen\<node-name>
docker compose down

Logs

Follow the node log output in real time.

cd $env:USERPROFILE\Varen\<node-name>
 .\varen.cmd logs

or manually

cd $env:USERPROFILE\Varen\<node-name>
docker compose logs -f varen-node

Reload

Reinstall in place. reload stops the stack, re-runs the current installer (refreshing the command, watcher task, and Compose files), and starts the stack again, preserving your node data and volumes.

cd $env:USERPROFILE\Varen\<node-name>
 .\varen.cmd reload

or manually

cd $env:USERPROFILE\Varen\<node-name>
docker compose down
irm https://varen.tech/downloads/install-docker.ps1 | iex

Uninstall

Uninstall is destructive. It removes named Docker volumes and deletes the installation directory, including durable node data. Back up the node before uninstalling. Run these commands in PowerShell.

cd $env:USERPROFILE\Varen\<node-name>
 .\varen.cmd uninstall

or manually

cd $env:USERPROFILE\Varen\<node-name>
schtasks /Delete /F /TN 'VarenNodeWatcher'
docker compose down -v
cd $env:USERPROFILE
Remove-Item -Recurse -Force "$env:USERPROFILE\Varen\<node-name>"

Prerequisites

  • Docker on your NAS — typically provided by Synology Container Manager, QNAP Container Station, TrueNAS Apps, Unraid Docker, or Proxmox LXC with Docker installed.
  • TUN device support (/dev/net/tun) — available on most modern NAS firmware.
  • Outbound HTTPS to varen.tech and UDP 51820 (WireGuard).

Install steps

NAS user interfaces typically can't pipe a remote script into a shell. SSH into your NAS (or use its terminal app) and run the steps below. Exact paths vary by platform — adapt the directory to match your NAS conventions (for example, /volume1/docker/varen-<node-name> on Synology).

1. Create a directory for this node and change into it:

mkdir -p ~/varen/<node-name>
cd ~/varen/<node-name>

2. Download the Varen compose file:

curl -fsSL https://varen.tech/downloads/varen-node.yml -o docker-compose.yml

3. Create a .env file with these contents, substituting your actual licence key and node name:

LICENSE_KEY=<your-licence-key>
NODE_NAME=<your-node-name>
SAAS_ENDPOINT=varen.tech:50051

4. Start the stack:

docker compose up -d

Start

Start the node stack.

cd ~/varen/<node-name>
docker compose up -d

Stop

Stop the node stack gracefully.

cd ~/varen/<node-name>
docker compose down

Logs

Follow the node log output in real time.

cd ~/varen/<node-name>
docker compose logs -f varen-node

Upgrade

Pull the latest image and restart the node.

cd ~/varen/<node-name>
curl -fsSL https://varen.tech/downloads/varen-node.yml -o docker-compose.yml
docker compose pull
docker compose up -d

Uninstall

Uninstall is destructive. down -v removes the qdrant_data and ollama_data volumes, and deleting the directory removes the data/ bind mount containing durable node content. Back up first. sudo may be required depending on your NAS user setup.

cd ~/varen/<node-name>
docker compose down -v
cd ~ && sudo rm -rf ~/varen/<node-name>

Verifying your node is connected

After starting the stack, the node establishes an encrypted tunnel back to Varen. In the desktop, the status dot next to your node in the navigator turns green within a minute or two. If it stays grey after several minutes, check the following:

  • Docker is running — docker ps should show the node containers
  • Outbound UDP 51820 is not blocked by your firewall or router
  • Your licence key is correct — it's set in the .env file or as an environment variable during install
  • The node logs don't show an error — use the Logs command above to check

Automatic upgrades

On Linux and Windows, the installer schedules a background watcher that keeps the node up to date. On Linux it is a systemd timer (varen-node-watcher.timer, run hourly), with a cron fallback on hosts without systemd. On Windows it is a scheduled task named VarenNodeWatcher.

The watcher polls Varen for a pending reload request for this node's licence and, when one is present, runs docker compose pull and docker compose up -d to recreate the stack on the new image, then clears the request. You can run it manually at any time with ./varen watcher (Linux) or .\varen.cmd watcher (Windows). On the Generic Docker path there is no scheduled watcher; upgrade manually with a Compose pull.

Use ./varen status (or .\varen.cmd status) to show the running containers.

The node directory

After installation, the node lives in ~/varen/<node-name>/ (or %USERPROFILE%\Varen\<node-name>\ on Windows). Understanding what's in this directory makes maintenance easier:

  • docker-compose.yml — the stack definition
  • .env — environment variables including the licence key; this file must never be shared or committed to version control
  • varen (Linux) or varen.cmd and varen.ps1 (Windows) — a single unified command wrapping Docker Compose: varen {start|stop|reload|logs|watcher|status|uninstall}
  • data/ — the bind-mounted node data directory (durable content: conversations, files, memories, indexes)
  • On Linux, varen-node-watcher.service and varen-node-watcher.timer (installed as a systemd timer, or scheduled via cron); on Windows, a VarenNodeWatcher scheduled task
Warning

The .env file contains your licence key. Don't check it into version control or share it. Durable node content lives in the data/ bind mount inside this directory; the Qdrant vector index and Ollama models live in the qdrant_data and ollama_data Docker volumes. Back up the directory (and volumes) if the host machine is not backed up through another mechanism.

Multiple nodes

A single Varen account can have multiple nodes. Each appears separately in the navigator. Workspaces are created on a specific node and their data lives on that node — there's no automatic sync between nodes. This lets you keep completely separate environments: a home node for personal workspaces and a work node for professional ones, each running on different hardware, each with its own isolated data.

To add a second node, click Add Node in the navigator again. You can use the same licence key or a different one depending on your account setup.