Skip to content

Support custom machines configurations #8

@edubart

Description

@edubart

Custom options

Currently when you open a WebCM page it starts with a fixed image and there is no way to customize its startup options. Would be cool if the following would be customizable:

  • Base rootfs image (e.g https://edubart.github.io/webcm#&base_image=https://raw.githubusercontent.com/edubart/webcm-images/archlinux-rootfs.ext2.zz)
  • Init (e.g https://edubart.github.io/webcm#&init_script=https://raw.githubusercontent.com/edubart/webcm-images/init-script.sh
  • Entrypoint (e.g https://edubart.github.io/webcm#&entrypoint="darkhttpd -d")

More easily, perhaps 3 options could be served from a single config file containing links to the base rootfs, init script and entrypoint, for example https://edubart.github.io/webcm#&config=edubart/webcm-configs/alpine-darkhttpd-playground.toml. (later the configuration could also have custom RAM and ROOTFS sizes)

This will allow people to share links of custom Linux containers containing different software stacks, might be cool for other to show off Users will have to host in GitHub repositories or Gists and use raw.githubusercontent.com domain because fortunately GitHub is permissive on CORS (cross origin requests) for them.

Repository with different images

Would be cool to have a repository with many different Linux software stack examples using the config files which people could contribute to. I would eventually try to add ArchLinux/Ubuntu/Debian base images for starting. The repository will need to be out of this tree, because hosting big images on this repository is starting to be unmanageable. I would also add base images with some toolchains like Rust, GCC, Clang..

Embed use example

Then it would be cool to make an example of HTML embed, so people could embed short Linux terminals in third party websites (or even web pages served by the VM). This might be useful for documentation of any Linux software, where they could embed WebCM snippets in pages so users can play with the software.

The embed would work using iframes, so

<iframe src="https://edubart.github.io/webcm#&config=edubart/webcm-configs/alpine-darkhttpd-playground.toml"></iframe>

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions