Skip to content
ihexonPublic

About

revm helps you quickly launch Linux VMs / Containers

Topics

Resources

Stars

17 stars

Watchers

1 watching

Forks

Repository files navigation

revm

Install

Download the release archive for your platform, then extract the complete bundle:

# macOS: revm-darwin-arm64.tar.zst
# Linux: revm-linux-x86_64.tar.zst or revm-linux-aarch64.tar.zst
archive=revm-darwin-arm64.tar.zst
mkdir revm-release
tar -xf "$archive" -C revm-release
export PATH="$PWD/revm-release/bin:$PATH"

Run

revm run -- sh
revm run --network tsi -- sh
printf 'hello\n' | revm run -- cat
revm run --mount "$PWD:/workspace" --workdir /workspace -- sh
revm run --raw-disk "$HOME/data.ext4,mnt=/data" -- sh
revm run --envs http_proxy=http://host.containers.internal:8080 -- sh

Sessions

# Terminal 1
revm run --id dev -- sh

# Terminal 2
revm ls
revm inspect dev
revm exec --id dev -- uname -a
revm logs --guest --tail 50 dev
revm stop dev
revm wait dev
revm rm dev

Containers

# Terminal 1
revm volume create data
revm podman --volume data --id containers --podman-api /tmp/revm-containers.sock

# Terminal 2
export CONTAINER_HOST=unix:///tmp/revm-containers.sock
podman run --rm alpine uname -a

Storage

All revm-managed data lives under ~/.revm. Set REVM_HOME to an absolute path to select another root for runtime files, logs, caches and volumes. Existing data is not migrated automatically. See data layout.

revm volume ls
revm stop containers
revm volume rm data
revm cache prune

Port forwarding

# Terminal 1
revm run --id demo --port-export 8080:8000 -- nc -lk -p 8000 -e cat

# Terminal 2
revm ports --json demo
printf 'hello\n' | nc -w 1 127.0.0.1 8080

TSI host networking

# Terminal 1: listen directly on host TCP port 8080
revm run --network tsi -- nc -lk -s 127.0.0.1 -p 8080 -e cat

# Terminal 2
printf 'hello\n' | nc -w 1 127.0.0.1 8080

Completion and help

source <(revm completion bash)  # Bash with bash-completion
source <(revm completion zsh)   # Zsh with compinit
revm completion fish > ~/.config/fish/completions/revm.fish

revm --help
revm run --help

Command reference

About

revm helps you quickly launch Linux VMs / Containers

Topics

Resources

Stars

17 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages