Configuration
HYPR is configured through environment variables and file paths.Environment Variables
Core Settings
| Variable | Default | Description |
|---|---|---|
HYPR_DATA_DIR | /var/lib/hypr | Base directory for persistent data |
HYPR_RUNTIME_DIR | /run/hypr (Linux) or /tmp/hypr (macOS) | Runtime files (sockets, PIDs) |
Logging
| Variable | Default | Description |
|---|---|---|
RUST_LOG | info | Log level filter |
Observability
| Variable | Default | Description |
|---|---|---|
HYPR_OTLP_ENABLED | unset | Enable OpenTelemetry tracing |
OTEL_EXPORTER_OTLP_ENDPOINT | http://localhost:4317 | OTLP collector endpoint |
File Paths
Data Directory
Default:/var/lib/hypr
Override with HYPR_DATA_DIR:
| Path | Description |
|---|---|
hypr.db | SQLite database (VMs, images, stacks, networks, volumes) |
images/ | Built and pulled images |
volumes/ | Named volumes |
logs/ | VM log files |
cache/ | Build cache layers |
vmlinux | Linux kernel binary |
Runtime Directory
Default:/run/hypr (Linux) or /tmp/hypr (macOS)
Override with HYPR_RUNTIME_DIR:
| Path | Description |
|---|---|
hypr.sock | gRPC Unix socket |
hyprd.pid | Daemon PID file |
<vm-id>.vsock | Per-VM vsock sockets |
kestrel-initramfs.cpio | Extracted guest initramfs |
Service Ports
All HYPR services use ports in the 41000-41999 range.| Port | Service | Protocol |
|---|---|---|
| 41000 | gRPC API | gRPC over Unix socket |
| 41001 | REST gateway | HTTP |
| 41002 | Prometheus metrics | HTTP |
| 41003 | DNS server | DNS/UDP |
| 41010 | Build HTTP proxy | HTTP |
| 41011 | Build agent | vsock |
VM Resources
Default Resources
When not specified, VMs use these defaults:| Resource | Default |
|---|---|
| CPUs | 2 |
| Memory | 512 MB |
| Balloon | Enabled |
Override at Runtime
Override in Compose
Network Configuration
Linux
| Setting | Value |
|---|---|
| Bridge | vbr0 |
| CIDR | 10.88.0.0/16 |
| Gateway | 10.88.0.1 |
| DNS | 10.88.0.1 |
macOS
| Setting | Value |
|---|---|
| Network | vmnet (shared mode) |
| CIDR | 192.168.64.0/24 |
| Gateway | 192.168.64.1 |
| DNS | 192.168.64.1 |
Custom Networks
Create networks with custom subnets:Volume Configuration
Default Storage
Volumes are stored in/var/lib/hypr/volumes/:
- Standalone volumes:
/var/lib/hypr/volumes/local/<name> - Stack volumes:
/var/lib/hypr/volumes/<stack>/<name>
Volume Driver
Currently only thelocal driver is supported, which stores data on the host filesystem.
Kernel Configuration
HYPR downloads a custom-built Linux kernel on first use. Kernel version: 6.12 Features enabled:- SquashFS with compression
- OverlayFS
- virtio drivers (blk, net, vsock, fs)
- Container namespaces
- Memory ballooning
- x86_64:
vmlinux-x86_64 - ARM64:
Image-aarch64
Systemd Configuration (Linux)
Service file location:/etc/systemd/system/hyprd.service
LaunchDaemon Configuration (macOS)
Plist location:/Library/LaunchDaemons/ai.hypr.hyprd.plist
DNS Resolution
HYPR runs a DNS server for.hypr domain resolution on port 41003.
Linux setup (systemd-resolved):
Database Configuration
HYPR uses SQLite for state persistence. Location:/var/lib/hypr/hypr.db
Tables:
vms- VM recordsimages- Image metadatastacks- Compose stacksnetworks- Network definitionsvolumes- Volume metadata