Skip to main content

Portable reproducible environments for Linux applications

Project description

rootbox

PyPi License Code style: black

What is rootbox?

Rootbox is a tool for Linux and WSL that allows regular (unprivileged) users to deploy applications in a portable and reproducible way.

Rootbox in action

How does it work

Rootbox uses Linux kernel namespaces to create contained environments.

What is the difference between rootbox and Docker?

The focus of rootbox is to provide a tool that can be used to run applications without the need to install dependencies on the host system. Rootbox does NOT aim to provide full isolation between environemtns and the host, for such use cases please consider using Docker or Podman.

Container Modes

Rootbox allows to operater containers in two different modes: simple execution and managed execution.

Simple Containers

A simple container is created for the purpose of executing a command/process «interactive or not». The lifecycle of this container is associated with the new process lifetime. Once the process terminates all the associated resources will be destroyed. The rootbox run command provides simple containers.

Managed Containers

A managed container is created for the purpose of executing multiple processes/commands which share a common filesystem view. A managed container is associated with a manager process which provides some management capabilities to the container. Once the manager process terminates all the associated resources will be destroyed. The rootbox start command provides managed containers.

Unlike other container tecnhologies (e.g. Docker), Rootbox does not use a multi container daemon. Instead, Rootbox provides a single container manager which is responsible for the management of a single container.

What is nedded to run rootbox?

  • A Linux distrubtion or Linux on Windows with WSL (Kernel version >=4.18)
  • Python 3.8, 3.9, 3.10 or 3.11
  • Only 64-bit architectures are supported

What applications can I run with rootbox?

  • images from the Linux Containers project (LXC).
  • images from the Docker Hub registry (Docker Hub)

Supported package managers

Status Tool Distros
apk Alpine
pacman ArchLinux
dnf Alma; CentOS; Fedora; Rocky
xbps VoidLinux
zypper openSUSE
apt Debian/Ubuntu

How to install

pip install rootbox

How to use

Run an in-memory single run container

Run a shell in an Alpine Linux container

rootbox run lxc:alpine:3.17

Check the apk version:

rootbox run lxc:alpine:3.17 "apk --version"

Create an in-memory multi run container

rootbox start lxc:alpine:3.17

Execute a command in a container

rootbox exec "apk --version"

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rootbox-0.0.10.tar.gz (43.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rootbox-0.0.10-py3-none-any.whl (22.7 kB view details)

Uploaded Python 3

File details

Details for the file rootbox-0.0.10.tar.gz.

File metadata

  • Download URL: rootbox-0.0.10.tar.gz
  • Upload date:
  • Size: 43.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.3

File hashes

Hashes for rootbox-0.0.10.tar.gz
Algorithm Hash digest
SHA256 d89d1950d94027c2435baa11f7dca46b6bc881d08e317f6be57ade3faf417b66
MD5 c8da0be3f2e10b093c27b39f3d022cec
BLAKE2b-256 95cf9c19001c5f42811d61c6994ef4712f1d3cb82604d452ec37f5e4189cc378

See more details on using hashes here.

File details

Details for the file rootbox-0.0.10-py3-none-any.whl.

File metadata

  • Download URL: rootbox-0.0.10-py3-none-any.whl
  • Upload date:
  • Size: 22.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.3

File hashes

Hashes for rootbox-0.0.10-py3-none-any.whl
Algorithm Hash digest
SHA256 b86953c020da73e096186c396bd729e4c7387336bc1b341a56951263bb542715
MD5 4f250a89faa04ddac89808849a4ee964
BLAKE2b-256 1cf751b71b6d50d8c260f4544fcc080e417aad6d20327ae033b9a887e2362142

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page