Based on current specs if you want to keep the source for projects around, you'd persist in /root to keep with the environment, or /home/<user> to make available in all environments.
Since Docker containers are how you keep services running, you can imagine using Syncthing to sync some files (such as source files) in an environment or in your home directory with files on your laptop/workstation. I think this should be attempted first to see what the experience is like.
Eventually, we can build in support for NFS for fewer moving parts and user set up. I'm thinking 3 ways to use NFS:
Expose an NFSv3 server that you can connect to from your laptop. Perhaps focuses on your envy home directory.
Allow automatic envy connection to external NFS services, such as AWS's EFS or your org's private file server
An envy client CLI that will transparently tunnel your local NFS service to envy for the duration of your connection
These are ordered in by bang for buck and work involved, but also provide different data configurations.
The first means you keep data with the envy server. No offline unless you're running locally. Some set up required, but not much.
The second stores it somewhere else, which is best in the cloud so you don't have to worry about data loss on your envy host. Requires an accessible NFS somewhere, but otherwise config is easy.
Last option lets you keep your data local, exposing it to envy only when you're using it. It's the most transparent but involves a client, which is a big deal. It also doesn't work for web access unless you run the client and then use the browser. Presumably web access is remote and you wouldn't be at your laptop to run the client anyway.
Based on current specs if you want to keep the source for projects around, you'd persist in
/root
to keep with the environment, or/home/<user>
to make available in all environments.Since Docker containers are how you keep services running, you can imagine using Syncthing to sync some files (such as source files) in an environment or in your home directory with files on your laptop/workstation. I think this should be attempted first to see what the experience is like.
Eventually, we can build in support for NFS for fewer moving parts and user set up. I'm thinking 3 ways to use NFS:
These are ordered in by bang for buck and work involved, but also provide different data configurations.
The first means you keep data with the envy server. No offline unless you're running locally. Some set up required, but not much.
The second stores it somewhere else, which is best in the cloud so you don't have to worry about data loss on your envy host. Requires an accessible NFS somewhere, but otherwise config is easy.
Last option lets you keep your data local, exposing it to envy only when you're using it. It's the most transparent but involves a client, which is a big deal. It also doesn't work for web access unless you run the client and then use the browser. Presumably web access is remote and you wouldn't be at your laptop to run the client anyway.