Linux containers, powered by systemd
The systemd
machine editor.
Full Linux systems in lightweight containers. Clone your host, run OCI applications, and deploy Kubernetes pods with one command line tool.
Up and running
One binary. Ready to boot.
For x86_64 and aarch64 Linux systems.
curl -fsSL https://sdme.io/install.sh | sudo sh
Installs to /usr/local/bin/sdme and verifies SHA256 checksums. Requires systemd ≥ 255 and systemd-container. Prefer a package? See downloads.
Learn by doing
Tutorials
From your first container to multi-service workloads.
Using sdme on macOS
Set up a Linux VM with lima-vm to run sdme on your Mac.
Using sdme on Windows
Run sdme inside WSL 2 on Windows.
Your First Container
Create a container, manage it, and learn how to run background processes like tmux.
Using a Different Root Filesystem
Import other Linux distributions and create containers from them.
Day-to-Day Management
Essential commands for managing containers: listing, logs, copying files, and troubleshooting.
Running Long-Lived Services
Install and run services like nginx inside sdme containers.
Intro to Running OCI Applications
Import and run OCI application images like nginx as systemd services inside sdme containers.
Bind Mounts and OCI Volumes
Share files between host and containers using bind mounts and OCI volumes.
Running an OCI Database with Volumes
Run PostgreSQL with automatically managed OCI volumes that persist data across container removal and re-creation.
Network Configuration
Configure container networking: host network, private network, veth, zones, bridges, and port forwarding.
Multi-Container Pod Networking
Share a network namespace between containers so they communicate via localhost.
Running Kubernetes Pods
Deploy OCI applications from Kubernetes Pod YAML manifests.
Building Root Filesystems
Build custom root filesystems with sdme fs build using Dockerfile-like configs.
Running Docker and a Registry Inside a Container
Run a full Docker engine and a private registry inside an sdme container, backed by btrfs storage.
Understand the system
Documentation
Architecture, isolation, and the details behind sdme.
Architecture and Design
How sdme works: overlayfs, systemd integration, OCI support, and Kubernetes pods.
Security
Container isolation, hardening tiers, OCI workload security, and Kubernetes pod security.
AI Skill
Embedded AI agent skill for using and troubleshooting sdme.
Downloads
Static binaries, .deb, .rpm, and .pkg.tar.zst packages are available on the releases page.
Ubuntu packages are also published on the Launchpad PPA, Fedora packages on Copr, and Arch Linux packages on the AUR (sdme-bin or sdme).
All artifacts are published with SHA256 checksums.