Skip to content

Reference

What's on your server

Everything Native VM creates on a server, in one place. These names are fixed: Native VM recognises its own files by them.

Files and directories

PathWhat it is
/usr/local/lib/nativevm/agent-<sha256>.pyNative VM's helper file. Root-only, run for one action at a time.
/srv/<app>/An app: repo/, releases/, shared/ and the current link. See Deploys.
/srv/<app>/shared/.envThe app's environment, readable only by the app's account.
/srv/<app>/.nativevm-app.jsonWhat the app is: its framework, source and settings, so any session can deploy it.
/opt/nativevm/runtimes/Per-app runtimes: Node.js, Python, .NET and Java, side by side.
/opt/nativevm/runtimes/bin/The uv and fnm binaries, verified against checksums in the helper file.
/var/backups/nativevm/<time>/A copy of every file Native VM overwrote or deleted, under its original path.
~/.nativevm-uploads/In the SSH user's home: uploads waiting to be unpacked. Each is removed after use.

Accounts

AccountWhat it is
app-<name>One unprivileged account and group per app. nginx's account joins the group so it can reach the app's socket.

systemd units

UnitWhat it is
<app>.serviceAn app's service.
nativevm-cron-<name>.service and .timerA cron job: one run of the command, and the timer that starts it.
nativevm-certbot-renew.timerCertificate renewal, installed only when the server has no renewal timer of its own.

Files Native VM manages start with the line # Managed by Native VM., and it only ever deletes files that do.

nginx sites

SiteWhat it is
/etc/nginx/sites-available/<domain>An app's site for its domain, enabled with a link from sites-enabled.
<app>-port-<port>An app's preview port site.

Firewall

A preview port gets a ufw rule commented nativevm preview <app>. Native VM removes only rules that carry its own comment, and never touches the port SSH arrives on.

On your computer

WhatWhere
Saved servers, trusted host keys, session metricsThe data folder: ~/Library/Application Support/nativevm/Native VM on macOS, %LOCALAPPDATA%\nativevm\Native VM on Windows, ~/.local/share/nativevm/Native VM on Linux
Passwords, passphrases, Git tokens and your sessionYour OS keychain, or credentials.sqlite3 and credentials.key in the data folder if you chose the encrypted store
Your private keysWhere they already are. Native VM stores their path, never a copy.