Vaier
GitHub

Self-hosted infrastructure
for homelab developers.

Vaier (Norwegian for wire, said VY-er) turns WireGuard, Traefik and sign-in into one web UI. Publish any container on any machine as an HTTPS site in one click.

Get started View on GitHub
Free to use Java 21 · Spring Boot Single Docker Compose No database
// the problem

Tired of maintaining a VPN, a reverse proxy, and a wall of DNS records?

// without vaier

Five tools, five config files, five places to mess up

A VPN peer, a DNS record, a proxy route, a certificate and an auth rule — for every new service.

// with vaier

One UI. One click. Zero DNS, ever again.

Make one wildcard DNS record once. After that, pick a container, pick a name, and it's live with HTTPS.

// see it

Your whole fleet, at a glance.

Vaier's Topology view: two harbour villages joined to a lighthouse by tunnels, with pirate ships kept at sea
Your sites, the tunnels between them, and the scanners being kept out.
The fleet: every machine as a card
Every machine in one place.
The Launchpad: every published service grouped by machine
Every service you publish, one click away.
// features

Everything your homelab needs, in one stack.

One-click publishing

Any container on any machine becomes an HTTPS site in one click. Traefik routes it and Let's Encrypt signs it.

A fleet over WireGuard

Add a server with one setup link. Vaier finds its home network and lets the whole fleet reach it.

Phones and laptops

The Vaier app for Android and Windows joins with a four-digit code. Phones can tell Vaier's built-in MQTT broker when they come home.

Sign-in and access

Start with a first-run password, add Google or GitHub later. Choose who can open each service.

Explorer

Files, containers, disks and backups across every machine, in one place. It opens on what needs you.

Backups

Tick what matters and press Back up. Archives stay readable even if Vaier is gone.

Alerts that mean something

Disks forecast days ahead, containers that didn't come back, updates waiting. On your phone or PC, only when something is wrong.

Threats you can see

CrowdSec blocks scanners at the edge, and Vaier tells you who and why, in plain words.

Who is on your networks

Every phone, TV and gadget that joins your home networks or VPN, and every time it was there.

Web terminal

A persistent SSH shell to any machine, in your browser, even while Vaier is down. Keys never leave the server.

Ask Marvin

Ask your fleet questions in plain words. Marvin can suggest an action, but only your click runs it.

Launchpad

One page linking every service you publish, with direct links when you're at home.

Claude Code on every machine

Sign each machine's Claude Code in to your own account from Vaier's terminal.

// how it fits together

One server. WireGuard out to your peers. HTTPS in from the world.

User browser on the internet Vaier server Traefik · CrowdSec · oauth2-proxy · WireGuard · Pi-hole · Mosquitto Peer 1 docker container :8080 Peer 2 docker container :3000 Peer 3 phone · laptop · NAS HTTPS WireGuard tunnel

Traffic arrives at the Vaier server, passes sign-in if the service asks for it, and travels the tunnel to the container. Your machines never need a public IP.

// quick start

From bare server to first HTTPS service in one command.

01

Bring a Linux server with a public IP

Open TCP 22, 80, 443 and UDP 51820, and bring a domain.

02

Run the installer

It asks three questions: domain, email and time zone. It can install Docker for you if needed.

mkdir -p vaier && cd vaier
curl -fsSL https://raw.githubusercontent.com/geir-eilertsen/vaier/main/install.sh | bash
03

Make the one DNS record it gives you

One wildcard record covers every service you will ever publish. The installer prints it for you.

# *.yourdomain.com   A   <this server's public IP>
04

Say yes, and sign in

The installer prints your first-run password. The first person to sign in becomes the admin. To update later, run the same command again.

// who it's for

Built for the self-hosted community.

// the homelabber

One person. One server. A growing pile of containers.

Stop hand-editing proxy configs every time you add Plex or another app.

// the small team

A handful of users, real auth, real DNS.

Let people in with Google or GitHub, and no one has to ask for a password.