Elyra
Elyra The coding agent e The native code editor Elyra Grove Native local development environment Elyra Conductor Local project conductor Elyra SQL Anywhere Replication-ready SQL engine
Internals
Architecture
Release notes
Changelog
Elyra

Configuration

Grove's single source of truth is config.toml under $GROVE_HOME (default ~/Library/Application Support/Grove/config.toml on macOS). Anything that can be re-derived (issued certs, hot FPM pools, installed runtimes) is kept out of it, so the file stays human-readable and diff-friendly.

Set GROVE_HOME to use an isolated tree (handy for testing on high ports).

Example

[general]
tld = "test"            # sites are served on *.test
default_php = "8.4"     # used by sites without an explicit isolate
auto_start = true       # launch the daemon at login
http_port = 80
https_port = 443
dns_port = 53

[services]
mail_enabled = true     # run the built-in SMTP mail-catcher
mail_port = 1025

# Every immediate subdirectory of a parked path becomes <name>.test
[[parked]]
path = "~/Code"

# Explicit sites override parked discovery on name collision
[[sites]]
name = "inside-next"
path = "~/Code/inside-next"
php = "8.4"             # per-site PHP (isolate)
node = "22"            # per-site Node version
secure = true          # HTTPS
driver = "laravel"     # optional; auto-detected otherwise

[[sites]]
name = "frontend"
path = "~/Code/frontend"
driver = "proxy"
proxy_to = "http://127.0.0.1:5173"

Fields

[general]

Key Default Notes
tld test Top-level domain. Changing it requires a daemon restart.
default_php 8.4 Fallback PHP version for sites without php.
auto_start true Start the daemon at login.
http_port 80 Use a high port (e.g. 8080) to run without elevation.
https_port 443
dns_port 53

[services]

Key Default Notes
mail_enabled true Run the SMTP mail-catcher.
mail_port 1025 SMTP port apps connect to.

[[parked]]

A list of directories; each immediate subdirectory becomes a site. Paths support ~ and environment variables.

[[sites]]

Key Notes
name Site name → <name>.<tld>.
path Project directory (omit for proxy).
php Per-site PHP version override.
node Per-site Node version.
secure Enable HTTPS.
driver laravel | wordpress | php | static | proxy (auto-detected if omitted).
proxy_to Upstream URL for the proxy driver.

Tip: most changes are easiest via the CLI (grove secure, grove isolate, grove node use, …) or the GUI Settings panel (⌘,), which write this file for you and reload the daemon atomically.