Runtime Paths

Reference for Vaulthalla configuration, runtime, state, log, mount, SQL, web, proxy, database and key paths on Linux and macOS.

Runtime Paths

Use this reference when backing up, troubleshooting, or verifying package layout. Linux paths come first; the macOS section maps the same roles onto the Mac's layout. The differences are summarized in Platform Comparison.

Linux

Core Paths

PathPurpose
/etc/vaulthalla/config.yamlMain runtime configuration.
/run/vaulthallaRuntime sockets and transient secrets.
/var/lib/vaulthallaVaulthalla state, local vault bodies, cache/index state (including the encrypted preview cache), and sealed blobs.
/var/log/vaulthallaLog location where file logging is configured.
/mnt/vaulthallaFUSE filesystem mount.
/usr/share/vaulthalla/psqlPackaged SQL schema and migration assets.
/usr/lib/vaulthalla/helpersOptional preview converter helpers from vaulthalla-preview-cad and vaulthalla-preview-media (preview.derive.helper_dir).
/usr/share/vaulthalla-webPackaged web runtime.
/var/cache/vaulthalla-webWeb runtime cache.

Services

ServicePurpose
vaulthalla.serviceCore daemon. Owns the CLI socket /run/vaulthalla/cli.sock.
vaulthalla-web.serviceWeb console runtime.
vaulthalla-swtpm.serviceManaged software TPM fallback.

Nginx Paths

PathPurpose
/usr/share/vaulthalla/nginx/vaulthalla.confPackaged Nginx template.
/etc/nginx/sites-available/vaulthallaManaged site configuration.
/etc/nginx/sites-enabled/vaulthallaEnabled site symlink.
/var/lib/vaulthalla/nginx_site_managedMarker for package-managed Nginx state.

Use sudo vh setup nginx and sudo vh teardown nginx instead of editing managed state by hand when possible.

TPM Paths

PathPurpose
/dev/tpmrm0Preferred hardware TPM resource manager device.
/dev/tpm0Hardware TPM fallback device.
/var/lib/swtpm/vaulthallaSoftware TPM state.

Sealed key blobs are stored in Vaulthalla state. Treat TPM and sealed key state as sensitive backup material.

CLI Socket

The CLI connects to:

1/run/vaulthalla/cli.sock

If vh fails with a permission error:

1ls -l /run/vaulthalla/cli.sock2id3getent group vaulthalla4systemctl status vaulthalla.service

macOS

Data And Configuration

Everything that holds data belongs to the hidden _vaulthalla account.

PathOwner and modePurpose
/Library/Application Support/Vaulthallaroot:wheel 0755Service root.
…/config.yamlroot:_vaulthalla 0640Runtime configuration. Written only when missing.
…/state_vaulthalla 0700Vault data (ciphertext), sealed secrets (file backend), previews cache, upload staging, the initial admin password.
…/run_vaulthalla 0750The CLI socket cli.sock (0660, group _vaulthalla) and the one-time database password handoff.
…/postgres_vaulthalla 0700The bundled PostgreSQL cluster (data/) and its socket.
…/caddy_vaulthalla 0700After vh setup caddy: the Caddyfile, certificates, ACME account and the Vaulthalla CA.
…/vaulthalla-local-ca.crt0644The Vaulthalla CA certificate to install on devices (internal names).
…/mount_vaulthalla 0700Reserved for a future service-private mount; unused by the package.
…/uninstall.sh, …/vaulthalla-provisionroot:wheel 0755Copies kept outside the package receipt so uninstalling still works after the program files are gone.
/Library/Logs/Vaulthalla_vaulthalla 0750vaulthalla.log, server.log, web.log, postgres.log, caddy.log.

… is /Library/Application Support/Vaulthalla.

Programs

PathPurpose
/usr/local/bin/vh, vaulthalla, vaulthalla-cli, vaulthalla-serverCLI and daemon.
/usr/local/lib/vaulthallavaulthalla-provision, vaulthalla-caddy, the lifecycle utility, bundled libraries (lib*.dylib).
/usr/local/libexec/vaulthalla/postgresqlBundled PostgreSQL 16.
/usr/local/libexec/vaulthalla/nodeNode runtime for the web console.
/usr/local/libexec/vaulthalla/caddy/caddyCaddy with the Cloudflare DNS module.
/usr/local/share/vaulthallaSQL migrations, configuration and LaunchDaemon templates, libmagic database.
/usr/local/share/vaulthalla-webWeb console.
/Library/LaunchDaemons/sh.vaulthalla.{server,web,postgres,caddy}.plistLaunchDaemons.

Network Defaults

ListenerDefaultPlatform
Web runtime127.0.0.1:36968both
WebSocket server127.0.0.1:36969both
HTTP server (previews, downloads, uploads)127.0.0.1:36970both
S3 gateway (disabled by default)0.0.0.0:39000both
Bundled PostgreSQL127.0.0.1:36971macOS
Caddy:80, :443 (after vh setup caddy)macOS
Software TPM127.0.0.1:2321 and 127.0.0.1:2322Linux

These listeners are intended for local service wiring and the HTTPS proxy, not direct public exposure. The isolated development instance adds 100 to the Vaulthalla ports.

Runtime Paths | Vaulthalla