What kind of scale are we talking about?
Sounds like you are looking for bare VMs where firing up a code-server instance for any given user would create a directory and start a Docker container mounting that directory for data persistence.
If the disk space becomes a bottleneck (though disks are reaaaally cheap), you may start getting fancy, e.g. offloading unused projects into S3 and then pulling them back if used again.
Knowing what I know about VSCode in general, it feels like you’ll run out of RAM faster though. 😊

writen by Kirill Rogovoy
Also, make sure to put resource restrictions on each container. Especially RAM.

writen by Kirill Rogovoy
What Kirill said, I would use S3 for everything related to file saving. It’s very cheap, fast and reliable. You could create a folder per project / user and load them when the user spins up the VS Code project.

writen by Luca Restagno (ikoichi on Twitter)