Docker app progress; UI, tests, deployment issues.

Today I will focus on getting the test to run consistently.

The weird error was caused by there literally being no tests. I was running the empty example. (facepalm)

I guess the app works well enough on the local machine. Now I need to make sure it runs on Docker.

I'm making good progress. I got it to run inside the Docker container and the UI to open files, but I'm having difficulties applying the vscode settings and running tests seems really slow.

Fixed the vscode settings not applying, and the tests seem to be slow only on the first run. I'll look into improving performance in a later stage. I still have the issue of the project directory not being opened on start, but I'll think about that later.

The app now runs well enough and is usable on Docker. I'm thinking if it would be a good time for thinking about deployment and adding more content. I was thinking of leaving content for the weekdays when I'm more tired, and focusing on developing the platform on the weekends. A full course should be completed before public testing. Once I complete a full course, I could focus on setting up user accounts and getting my first test users. I still haven't figured out how I'm going to be deploying it. I'm unsure of how heavy these docker containers will be, now that they're running the code-server. Maybe I could do a test run on my playground droplet?

Another issue is multitenancy. How am I going to handle multiple users? Each user gets its docker container? I figured that would be pretty expensive. Setting up multitenancy on a single container would be amazing, however, I'm fearing I'll have to use Firecracker in the end.

After deploying it, I keep getting this weird error where trying to change the file opened comes back with "500". I found an issue on GitHub, no responses https://github.com/coder/code-server/issues/6977. I cannot reproduce it, it seems to appear randomly. Once it does, only restarting code-server helps.

Regarding the speed of the tests. I realized the slowness is because of the restore. If I could run dotnet restore on user initialization, that could resolve the issue?.

I might have to create a vscode extension for some more advanced features. For example, I would like to only show certain files in the explorer. Not sure if that's possible with native vscode.

I'm thinking about creating Docker tutorials as well. For that, I would really need to use firecracker, so I'm thinking about that idea again.

Anyways, focus right now would be getting the demo ready for real users. Current blockers for that are:

  • iframe not rendering in production (ssl needed)
  • no unique environments
  • no user accounts

I'll probably need an orchestrator layer that will take care of starting and stopping stale containers, as well as ssl termination