Skip to content

Configuration

The easiest way to configure vybn is with the init wizard:

Terminal window
vybn init

This walks you through provider, network backend, GCP project (or SSH server details), machine type, Tailscale auth key, and other settings, then writes ~/.vybnrc for you.

You can also create the file manually from the included template:

Terminal window
cp vybnrc.example ~/.vybnrc

All settings can also be set as environment variables.

VariableDefaultDescription
VYBN_PROVIDERgcpCloud provider backend (gcp or ssh)
VYBN_NETWORKtailscaleNetwork backend (tailscale or iap)
VYBN_VM_NAME(auto-generated petname)VM instance name (claude-<adj>-<animal>)
VYBN_USERclaudeVM user account
VYBN_TMUX_SESSIONclaudetmux session name
VYBN_TERMxterm-256colorTerminal type for tmux sessions
VYBN_EDITOR(auto-detected)Editor CLI to launch: code or cursor
VYBN_QUIETfalseSuppress info/success output (--quiet flag)
VYBN_VERBOSEfalseEnable trace output (--verbose flag)

These apply when using VYBN_PROVIDER=gcp (the default).

VariableDefaultDescription
VYBN_ZONEus-west1-aGCP zone
VYBN_MACHINE_TYPEe2-standard-2Machine type (CPU/RAM)
VYBN_DISK_SIZE30Boot disk size in GB
VYBN_PROJECT(auto-detected)GCP project ID
VYBN_EXTERNAL_IPfalseAssign public IP to VM (forced true for Tailscale)
VYBN_GCP_SCOPEScompute-ro,logging-write,storage-roGCP API scopes assigned to the VM

These apply when using VYBN_PROVIDER=ssh.

VariableDefaultDescription
VYBN_SSH_HOST(none, required)Remote hostname or IP address
VYBN_SSH_USER(current user)SSH user for the bootstrap connection
VYBN_SSH_KEY(none)Path to SSH private key (uses SSH agent if unset)
VYBN_SSH_PORT22SSH port for the bootstrap connection
VariableDefaultDescription
VYBN_CLAUDE_CODE_VERSION2.1.38Claude Code version to install (native binary)
VariableDefaultDescription
VYBN_TOOLCHAINSnodeComma-separated toolchain modules to install
VYBN_APT_PACKAGES(none)Extra apt packages to install on the VM
VYBN_NPM_PACKAGES(none)Extra global npm packages (requires node toolchain)
VYBN_SETUP_SCRIPT(none)Path to a custom setup script to run after all setup

Available toolchains: node, python, rust, go, docker.

These apply when using the default Tailscale network backend.

VariableDefaultDescription
VYBN_TAILSCALE_AUTHKEY(none, required)Auth key for VM enrollment on your tailnet
VYBN_TAILSCALE_HOSTNAME(auto-generated petname)Tailscale device hostname (e.g., claude-bright-falcon)
VYBN_TAILSCALE_TAGS(none)ACL tags (e.g., tag:vybn)
VYBN_SSH_KEY_DIR~/.vybn/sshDirectory for vybn-managed SSH keys
VYBN_SSHID(none)SSH.id username — imports mobile device keys at deploy time

Pick a machine type based on your workload:

Machine TypevCPUsRAM~Cost (24/7)
e2-micro0.251 GB~$6/month
e2-small0.52 GB~$12/month
e2-medium14 GB~$25/month
Machine TypevCPUsRAM~Cost (24/7)
e2-standard-228 GB~$49/month
e2-standard-4416 GB~$97/month
e2-standard-8832 GB~$194/month
e2-standard-161664 GB~$388/month
Machine TypevCPUsRAM~Cost (24/7)
e2-highmem-2216 GB~$66/month
e2-highmem-4432 GB~$131/month
e2-highmem-8864 GB~$262/month
e2-highmem-1616128 GB~$524/month
Machine TypevCPUsRAM~Cost (24/7)
e2-highcpu-222 GB~$36/month
e2-highcpu-444 GB~$73/month
e2-highcpu-888 GB~$146/month
e2-highcpu-161616 GB~$292/month
Machine TypevCPUsRAM~Cost (24/7)
n2-standard-228 GB~$57/month
n2-standard-4416 GB~$113/month
n2-standard-8832 GB~$226/month

Disk storage costs ~$0.17/GB/month regardless of whether the VM is running.

~/.vybnrc
# Tailscale auth key (required for deploy)
VYBN_TAILSCALE_AUTHKEY="tskey-auth-..."
# Import mobile SSH keys from SSH.id at deploy time
VYBN_SSHID="your-sshid-username"
# Bigger machine for heavy workloads
VYBN_MACHINE_TYPE="e2-standard-4"
# Deploy in Europe
VYBN_ZONE="europe-west1-b"
# Custom VM name
VYBN_VM_NAME="claude-work"
~/.vybnrc
# Use an existing server
VYBN_PROVIDER="ssh"
# Server connection details
VYBN_SSH_HOST="dev.example.com"
VYBN_SSH_USER="ubuntu"
VYBN_SSH_KEY="$HOME/.ssh/id_ed25519"
# Tailscale auth key (required for deploy)
VYBN_TAILSCALE_AUTHKEY="tskey-auth-..."

For project-specific configuration beyond packages and toolchains, point VYBN_SETUP_SCRIPT to a local shell script:

~/.vybnrc
VYBN_SETUP_SCRIPT="$HOME/.vybn/setup.sh"

The script runs after all standard setup, in a subshell with set +e so failures don’t abort the deploy. Use it for cloning repos, installing project dependencies, or any other custom configuration. See the Toolchains guide for examples.

~/.vybnrc
# Install Node.js, Python, and Rust
VYBN_TOOLCHAINS="node,python,rust"
# Extra system packages
VYBN_APT_PACKAGES="ripgrep fd-find sqlite3"
# Extra npm packages (requires node toolchain)
VYBN_NPM_PACKAGES="typescript tsx"