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. 😊
![](https://avatars.slack-edge.com/2022-10-23/4260000903925_b66896ec1e36ec067d14_72.jpg)
writen by Kirill Rogovoy
Also, make sure to put resource restrictions on each container. Especially RAM.
![](https://avatars.slack-edge.com/2022-10-23/4260000903925_b66896ec1e36ec067d14_72.jpg)
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.
![](https://avatars.slack-edge.com/2023-03-09/4922435850227_252bafb8566bf265c63b_72.jpg)
writen by Luca Restagno (ikoichi on Twitter)