Skip to content

AquaJo/Windows-Docker-Pipe-for-RobloxStarter

Repository files navigation

Windows-Docker-Pipe for RobloxStarter

This is a tool that enables working on Roblox-Projects using RobloxStarter inside of docker, so you don't need to install much of the required tools. Because Roblox-Starter (former WSL2-Project) is dependant on the Windows-Host it was necessary to build a Host-Command-Integrator for docker, undergoing its sense of isolation.
Therefore its also a project that could be used as a docker-build template for enabling some windows commands - functionality inside of a docker-container.
Use this project at your own "risk"!

How to use?

You can use this template directly by cloning this repo & executing the buildContainer.ps1 or by using it as a submodule included in RobloxStarter and running the desired npm command npm run docker.
Be sure to run the npm command or the ps1 file before each session, so the command-piper is active! It shouldn't overwrite the existing container.

What do I do?

I mainly make some functionality of windows commands and windows-host access available inside of docker containers by letting them address powershell.exe and cmd.exe.
The scripts for making this possible inside the docker container are located in WSL_Insert.

It is named after WSL because I wanted to port a WSL2-project, therefore making a Linux container more 'Windows-like' and therefore more WSL-like.

Adaptions you'll need to undergo (e.g. in nodejs)

Note: There wil be alot more stuff you might need to fix, but the following lists stuff I needed / noticed when porting RobloxStarter to Docker

  • When you need to parse JSON from a command's output feel free to do a .toString().trim() to make it working if its not working from ground up
  • Keep in mind this command-piper will only export the output once its finished (if at all)
    • .on (data) wont work as expected and fires only one time (if at all) outputting the whole output log
    • to get the last entry feel free to use:
      data = data.split("\n"); data = data.length > 1 ? data[data.length - 2].trim() : data[0];

Todo

  • Handle accumulation of zombie defuncts listed in ps aux
  • Think about how to make docker supportive inside wsl itself
  • Error passing?
  • Smarter process handling, logging
  • Infinite-Counter-Reset inside docker container processes-specifying?
  • Volume mapping option

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published