Skip to content

Tool on top of LXD to easily create and use graphical containers

License

Notifications You must be signed in to change notification settings

benji-york/ContainerBox

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ContainerBox

What is it ?

A tool on top of LXD to easily create and use containers with full graphical capacity (a display manager and a desktop environment)

Why ?

The main idea is to have the usability from virtualization tools like VirtualBox but without the overhead of running inside a VM. Unprivilleged LXC containers allow for near 0 overhead while still maintaining reasonnable isolation

How it works ?

Expose the host managed resources to the container when the latter is not able to manage them (ex: starting a display server) Security is kept in mind so everything that needs to run on the host is isolated as much as possible (ex: nested Xorg server run as unprivilleged user)

Usage:

  • Install
  • Install lxd and xephyr (and xpra if you want) on your host
  • Run install.sh
  • Create a container
  • ContainerBox create -n NAME_OF_CONTAINER(required) -t DISTRO_TO_USE (ubuntu debian fedora -- default: fedora) -d DESKTOP_ENVIRONMENT(KDE GNOME XFCE MATE -- default: XFCE) --x yes|no (experimental xpra support -- default:no)
  • Start a container
  • ContainerBox start -n NAME -m DISPLAY_METHOD (xephyr xpra xorg[!!!security concern !!!] -- default: xephyr) -f yes|no (fullscreen ?)
  • Configure a container
  • ContainerBox config network|system(WIP)|shared_folder(WIP) NAME_OF_CONTAINER(required) [ OPTIONS ]

TODO List (from priority to eventuality)

  • Enable sound (pulseaudio server on the host and/or ALSA in the container with /dev/snd passthrough)
  • Easy exposure of network(DONE) and resources configuration
  • Shared folder
  • Create a nice GUI on top of the CLI
  • Backup/snapshot
  • install from an ISO image (maybe use QEMU to perform the install and then use the rootfs with LXD)
  • opened to any suggestion as long as it can be done through LXD/LXC

AUTHOR:

Alexandre Dey

DISCLAIMER

This is still experimental use at your own risk (no real reason for it to break anything, but still) GNOME is not working unless you login as root (still figuring it out)

About

Tool on top of LXD to easily create and use graphical containers

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 100.0%