Getting started with Morph EFS
Morph EFS, short for Elastic File System, is a Morph-managed elastic filesystem. It gives your workload a normal Linux path for files and directories, instead of an object storage API.
Use EFS when a workload needs a mounted path such as ~/morph-efs/shared-files. Use Morph Volumes when you want object storage for buckets and objects.
Prerequisites
- A Morph API key.
- A Morph-managed Linux VM/devbox, or an equivalent FUSE-capable Linux host.
uvandmorphcloudavailable in the target environment.- Morph private package access preconfigured by the Morph-managed environment. On an equivalent external host, package access must already be configured before install.
EFS does not install OS packages or run sudo during normal use. See Mount requirements if a mount fails before it starts.
Install the EFS client
Authenticate once with your Morph API key, then install the EFS client:
export MORPH_API_KEY="morph_your_api_key"
uv auth login https://simple-index.svc.cloud.morph.so --token "$MORPH_API_KEY"
uv tool install morphcloud-efs-client
morphcloud profile set default --api-key "$MORPH_API_KEY"
morphcloud profile use default
Confirm the command is available:
morphcloud efs --help
To upgrade later, use:
uv tool upgrade morphcloud-efs-client
Morph EFS can also show a short update notice from interactive morphcloud efs commands when a newer client is available. It never auto-upgrades, does not appear in --json output, and does not run from uv tool install.
If your shell still resolves an older morphcloud command after install, refresh the shell command cache:
hash -r
Create a filesystem
morphcloud efs create shared-files --ttl 1800
morphcloud efs get shared-files
The create command creates or reuses a filesystem with the requested name for your authenticated Morph context. The optional --ttl sets a filesystem TTL in seconds.
Open the interactive EFS experience
morphcloud efs tui
The TUI is the normal interactive EFS experience. Use it to inspect filesystems, watch mount status, create or mount a filesystem, unmount it, and browse a mounted filesystem.
If you have multiple ready filesystems, pass the filesystem name explicitly:
morphcloud efs tui shared-files
Open the browser dashboard
Open the EFS dashboard for your current Morph context:
morphcloud efs dashboard
Open a specific filesystem:
morphcloud efs dashboard shared-files
The dashboard command creates a temporary browser link from your current Morph profile. Your Morph API key is not placed in the browser URL.
Mount and use the filesystem
Mount with the default path:
morphcloud efs mount shared-files
morphcloud efs mount <filesystem> asks EFS to mount the filesystem on this machine. The command returns when the mount path is ready.
By default, the mount path is:
~/morph-efs/<filesystem>
Write, flush, and read a file through the mounted path:
echo hello > ~/morph-efs/shared-files/test.txt
sync
cat ~/morph-efs/shared-files/test.txt
To choose the mount path yourself, pass it as the second argument:
mkdir -p /tmp/shared-files
morphcloud efs mount shared-files /tmp/shared-files
Mount from another host
To share files across hosts, mount the same filesystem name from another supported Morph-managed Linux host using the same Morph context:
morphcloud efs mount shared-files
cat ~/morph-efs/shared-files/test.txt
Run sync after writes when you need another host to read the data immediately.
Inspect usage
morphcloud efs usage shared-files
Usage output includes usage status, active mount count, sampled bytes used, and estimated monthly cost when EFS billing is enabled.
Unmount and delete
Unmount when the mount path is no longer needed. This ends the active mount:
morphcloud efs unmount shared-files
Delete the filesystem when you are done with it. Delete marks the filesystem for cleanup:
morphcloud efs delete shared-files --yes
Cleanup completes asynchronously. Active mounts can delay cleanup, so unmount first when you are actively using the filesystem from a mounted path.
Next steps
- Read Concepts for the EFS mental model.
- Read CLI for command details.
- Read Dashboard for the browser workflow.
- Read TUI for the interactive workflow.
- Read Troubleshooting if install, auth, or mount setup fails.