Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.

README.md

vpsAdminOS

vpsAdminOS is a small OS serving as a hypervisor for unprivileged Linux system containers. It is based on not-os and NixOS. It is designed to run full distributions inside unprivileged containers which look and feel as much as a virtual machine as possible.

vpsAdminOS is developed and used in production by vpsFree.cz, a non-profit organization which provides virtual servers to its members. See vpsfree-cz-configuration for example cluster configuration.

Links

Technologies

Building OS

git clone https://github.com/vpsfreecz/vpsadminos/
cd vpsadminos

vpsAdminOS is developed on top of the latest NixOS release, so make sure that the correct version of nixpkgs is in NIX_PATH, or set it as follows:

git clone https://github.com/NixOS/nixpkgs-channels --branch nixos-20.09
export NIX_PATH=`pwd`

vpsAdminOS can now be built and run:

# Build the OS
make

# Run under qemu
make qemu

QEMU runner creates two disk images - sda.img and sdb.img which are added as QEMU ATA drives and can be used to create a mirrored ZFS pool which persists across reboots.

Usage

# Login via ssh or use qemu terminal with autologin
ssh -p 2222 localhost

# Configure osctld:
osctl pool install tank

# Create a container:
osctl ct new --distribution alpine myct01

# Configure container networking:
# Bridged veth
osctl ct netif new bridge --link lxcbr0 myct01 eth0

# Routed veth
osctl ct netif new routed myct01 eth1
osctl ct netif ip add myct01 eth1 1.2.3.4/32

# Start the container:
osctl ct start myct01

# Work with containers:
osctl ct ls
osctl ct attach myct01
osctl ct console myct01
osctl ct exec myct01 ip addr

# More information:
man osctl

# https://vpsadminos.org/user-guide/setup/
# https://vpsadminos.org/containers/administration/

Converting OpenVZ Legacy containers into vpsAdminOS

vpsAdminOS Converter can be used to convert OpenVZ Legacy containers containers into vpsAdminOS. See the documentation.

Nested containers

vpsAdminOS supports nested containers, e.g. LXC/LXD or Docker.

Nesting LXC/LXD containers can be enabled per container using:

osctl ct set nesting <id>

Docker works out-of-the-box with several known issues.

Building specific targets

nix-build -A config.system.build.tftpdir -o tftpdir
nix-build -A config.system.build.squashfs

Docs

About

Hypervisor for Linux system containers based on NixOS, ZFS and LXC

Resources

Releases

No releases published

Packages

No packages published
You can’t perform that action at this time.