I have a laptop with a humble amount of disk-space and a desktop with a massive amount of disk-space.I would like for the desktop to be a logically infinite source of storage, while the laptop stores only what I am currently using.For example, if I have a "photos" folder with 10tb of photos, I would like to see a list of all the photos when I open the folder on my laptop. If I then select a specific photo to open, my laptop checks if it already has it downloaded locally and if not, silently pulls it from the server. If I do that thousands of times and run out of space on my laptop, the laptop should automatically purge the LRU photo to load the new one.From the laptop's perspective, it has an unlimited amount of space - the only noticeable thing is that some files take longer to load than others.A critical component of this is that both systems are automatically synched. If a folder is created on the laptop, it is also created on the desktop. If a file is created on the laptop it is automatically backed up to the desktop. If a file is added to the desktop, its metadata is automatically synched to the laptop. Etc.The desktop stores a superset of the the laptop and nothing else. The laptop always knows all the files on the desktop.What self-hosted, preferably FOSS, software does this?