# rootless-containers/rootlesskit

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/rootless-containers-rootlesskit).**

1,273 stars · 123 forks · Go · Apache-2.0

## Links

- GitHub: https://github.com/rootless-containers/rootlesskit
- awesome-repositories: https://awesome-repositories.com/repository/rootless-containers-rootlesskit.md

## Topics

`rootless-containers`

## Description

RootlessKit is a tool for running container workloads and isolated process trees securely as a standard non-privileged user without holding root access on the host. It creates unprivileged user and mount namespaces to simulate fake root execution environments, allowing users to execute container workloads and manage resource groups safely.

The project provides capabilities for rootless port forwarding and unprivileged network namespace isolation, routing container network traffic through user-mode packet translation without requiring privileged kernel setup. It includes multiple backend network drivers for handling packet translation, TCP port forwarding, IPv6 routing, and virtual socket TAP interfaces. Additionally, it features virtualized file storage mechanisms that isolate modifications using temporary overlay layers and copy-up directories to protect host directories, along with dynamic port mapping utilities and runtime state tracking through Unix sockets and lock files.

## Tags

### Security & Cryptography

- [Network Namespace Isolation](https://awesome-repositories.com/f/security-cryptography/multi-tenant-isolation/namespace-based-isolation/network-namespace-isolation.md) — Spins up isolated network environments with userspace NAT drivers to manage container connectivity safely. ([source](https://github.com/rootless-containers/rootlesskit/blob/master/README.md))
- [Rootless Container Runtimes](https://awesome-repositories.com/f/security-cryptography/network-infrastructure-security/container-security/rootless-container-runtimes.md) — Runs container workloads and isolated process trees securely without host root privileges.
- [Root Simulation Environments](https://awesome-repositories.com/f/security-cryptography/encryption-as-a-service/non-root-container-execution-environments/root-simulation-environments.md) — Creates user and mount namespaces so unprivileged users can run commands with simulated root privileges. ([source](https://github.com/rootless-containers/rootlesskit/blob/master/README.md))
- [Userspace Network Stacks](https://awesome-repositories.com/f/security-cryptography/network-isolation/userspace-network-stacks.md) — Processes network packets entirely within a sandbox to provide connectivity without kernel privileges.
- [Control-Group-Based Resource Management](https://awesome-repositories.com/f/security-cryptography/account-management/hierarchical-grouping/resource-management-groups/control-group-based-resource-management.md) — Executes child processes within isolated resource control namespaces and automatically migrates active tasks into dedicated sub-groups. ([source](https://github.com/rootless-containers/rootlesskit/blob/master/docs/process.md))
- [Privileged Port Bindings](https://awesome-repositories.com/f/security-cryptography/privilege-management/privileged-port-bindings.md) — Allows unprivileged users to expose ports below 1024 by configuring system kernel settings or granting network capabilities. ([source](https://github.com/rootless-containers/rootlesskit/blob/master/docs/port.md))

### Part of an Awesome List

- [Namespace and Process Utilities](https://awesome-repositories.com/f/awesome-lists/devtools/namespace-and-process-utilities.md) — Provides low-level utilities for interacting with Linux kernel namespaces and process state.

### DevOps & Infrastructure

- [Container Port Mappings](https://awesome-repositories.com/f/devops-infrastructure/container-orchestration/networking/container-port-mappings.md) — Exposes internal container services to external host networks. ([source](https://github.com/rootless-containers/rootlesskit/blob/master/README.md))
- [Network Namespace Virtualization](https://awesome-repositories.com/f/devops-infrastructure/infrastructure/networking/routing/network-virtualization-tools/network-namespace-virtualization.md) — Creates isolated TCP/IP stacks using kernel network namespaces.
- [Network Namespace Detachments](https://awesome-repositories.com/f/devops-infrastructure/infrastructure/networking/routing/network-virtualization-tools/network-namespace-virtualization/network-namespace-detachments.md) — Isolates network namespaces into state directories while executing child commands in the host network context. ([source](https://github.com/rootless-containers/rootlesskit/blob/master/docs/network.md))

### Networking & Communication

- [Container Port Mapping](https://awesome-repositories.com/f/networking-communication/container-port-mapping.md) — Maps internal container ports to the host to expose internal services to external networks.
- [User-Space Stack Routing](https://awesome-repositories.com/f/networking-communication/network-stacks/kernel-stack-integration/user-space-stack-routing.md) — Routes network traffic through user-space implementations bypassing the host kernel network stack.
- [Port Forwarding](https://awesome-repositories.com/f/networking-communication/port-forwarding.md) — Maps local network ports to remote destinations to redirect TCP and UDP traffic. ([source](https://github.com/rootless-containers/rootlesskit/blob/master/docs/api.md))
- [Network Namespace Sharing](https://awesome-repositories.com/f/networking-communication/communication-protocols-architectures/communication-paradigms/namespaces/network-namespace-sharing.md) — Shares the host network namespace directly without isolation for zero performance overhead. ([source](https://github.com/rootless-containers/rootlesskit/blob/master/docs/network.md))
- [IPv6 Address Support](https://awesome-repositories.com/f/networking-communication/ipv6-address-support.md) — Activates IPv6 support on supported network drivers to handle modern network addressing requirements. ([source](https://github.com/rootless-containers/rootlesskit/blob/master/docs/network.md))
- [Network Port Configuration](https://awesome-repositories.com/f/networking-communication/network-port-configuration.md) — Maps ports from an isolated network namespace to the host network namespace using configurable backend drivers. ([source](https://github.com/rootless-containers/rootlesskit/blob/master/docs/port.md))
- [Virtual Socket Tunnels](https://awesome-repositories.com/f/networking-communication/network-tunnels/virtual-socket-tunnels.md) — Routes isolated network traffic through virtual socket TAP interfaces for seamless container connectivity. ([source](https://github.com/rootless-containers/rootlesskit/blob/master/docs/network.md))
- [Pasta Network Drivers](https://awesome-repositories.com/f/networking-communication/pasta-network-drivers.md) — Leverages host-level packet translation for high-performance TCP port forwarding and native source IP retention via pasta. ([source](https://github.com/rootless-containers/rootlesskit/blob/master/docs/network.md))
- [Slirp Network Backends](https://awesome-repositories.com/f/networking-communication/slirp-network-backends.md) — Isolates the network namespace using user-mode packet translation through Slirp for flexible routing and packet capture support. ([source](https://github.com/rootless-containers/rootlesskit/blob/master/docs/network.md))
- [VPNKit Network Stacks](https://awesome-repositories.com/f/networking-communication/vpnkit-network-stacks.md) — Isolates the network namespace through a cross-platform user-mode network stack supporting TCP and UDP traffic via VPNKit. ([source](https://github.com/rootless-containers/rootlesskit/blob/master/docs/network.md))

### Operating Systems & Systems Programming

- [Process Namespace Isolation](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/process-and-memory-management/process-isolation/namespace-based-isolation/pid-namespace-isolation/process-namespace-isolation.md) — Executes child processes inside dedicated namespaces to contain process trees and terminate internal tasks upon exit. ([source](https://github.com/rootless-containers/rootlesskit/blob/master/docs/process.md))
- [Filesystem Mounting](https://awesome-repositories.com/f/operating-systems-systems-programming/filesystem-mounting.md) — Attaches a filesystem to a specific directory in the system hierarchy to make contents accessible. ([source](https://github.com/rootless-containers/rootlesskit/blob/master/README.md))
- [Mount Propagation Control](https://awesome-repositories.com/f/operating-systems-systems-programming/filesystem-mounting/mount-propagation-control.md) — Controls how mount events are shared between host and container root environments.
- [Kernel Networking](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/kernel-networking.md) — Establishes low-overhead kernel-level network address translation using unprivileged SUID helpers. ([source](https://github.com/rootless-containers/rootlesskit/blob/master/docs/network.md))
- [Copy-on-Write File Copies](https://awesome-repositories.com/f/operating-systems-systems-programming/virtualization-emulation/virtualization-platforms/virtualization-architectures/copy-on-write-disk-formats/copy-on-write-filesystems/copy-on-write-file-copies.md) — Creates file copies that share storage with the original until modified. ([source](https://github.com/rootless-containers/rootlesskit#readme))
- [In-Memory Overlay Layers](https://awesome-repositories.com/f/operating-systems-systems-programming/virtualization-emulation/virtualization-platforms/virtualization-architectures/copy-on-write-disk-formats/copy-on-write-filesystems/in-memory-overlay-layers.md) — Isolates modifications from original data using writable overlays over read-only base filesystems.

### Software Engineering & Architecture

- [Container Isolation](https://awesome-repositories.com/f/software-engineering-architecture/execution-control/namespace-isolation/namespace-provisioners/container-isolation.md) — Spawns unprivileged user and mount namespaces so users can execute container workloads safely without root privileges. ([source](https://github.com/rootless-containers/rootlesskit#readme))
- [User Namespace Mappings](https://awesome-repositories.com/f/software-engineering-architecture/execution-control/namespace-isolation/user-namespace-mappings.md) — Translates user and group identities between host and container environments.
- [User ID Mapping Configurations](https://awesome-repositories.com/f/software-engineering-architecture/execution-control/namespace-isolation/user-namespace-mappings/uid-gid-remapping/user-id-mapping-configurations.md) — Configures UID and GID namespace remapping with automatic range detection and per-container isolation.
