BoxLite

Development Environments

Fast, consistent dev environments without Docker Desktop

TL;DR

BoxLite provides lightweight Linux environments for development. On macOS with Apple Silicon, it runs Linux workloads at near-native speed using Virtualization.framework. No Docker Desktop license needed, sub-second startup times, and full compatibility with OCI images.

Why BoxLite for Development?

Developers often need Linux environments for:

  • Running production-like environments locally
  • Testing against specific Linux distributions
  • Running Linux-only tools on macOS
  • Isolating project dependencies

BoxLite provides these environments with minimal overhead and maximum speed.

BoxLite vs Docker Desktop

Startup Time

BoxLite: ~100ms vs Docker: seconds

License

BoxLite: Open source vs Docker Desktop: Paid for commercial use

Apple Silicon

BoxLite: Native ARM via Virtualization.framework

Resource Usage

BoxLite: Minimal overhead vs Docker: VM + daemon

Quick Start

# Install BoxLite
pip install boxlite

# Run a command in an Ubuntu environment
boxlite run ubuntu:22.04 -- apt-get update

# Start an interactive shell
boxlite shell python:3.12

# Run your project's tests in isolation
boxlite run node:20 -- npm test

Use Cases

Local Development

Run your application in a production-like Linux environment while developing on macOS:

import boxlite

async def dev_environment():
    async with boxlite.SimpleBox(
        image="python:3.12",
        mounts=["./src:/app"],  # Mount source code
        ports=["8000:8000"]     # Expose dev server
    ) as box:
        await box.exec("pip", "install", "-r", "/app/requirements.txt")
        await box.exec("python", "/app/manage.py", "runserver")

CI/CD Pipelines

Run build and test steps in isolated environments:

  • Each step runs in a fresh VM
  • No state leakage between jobs
  • Consistent environments across local and CI
  • Easy parallelization

Build Environments

Build software with specific toolchains:

  • Cross-compile for different architectures
  • Use specific compiler versions
  • Build reproducibly with pinned dependencies
  • Isolate build artifacts

Testing Sandboxes

Run tests in isolated environments:

  • Test against multiple Linux distributions
  • Run integration tests with real services
  • Test destructive operations safely
  • Parallel test execution with isolation

OCI Image Compatibility

BoxLite runs standard OCI/Docker images. Use existing images from Docker Hub, GitHub Container Registry, or your private registry:

# Official images
boxlite run python:3.12-slim -- python --version
boxlite run node:20-alpine -- node --version
boxlite run golang:1.21 -- go version

# Custom images
boxlite run ghcr.io/myorg/myimage:latest -- ./run.sh

Ready for faster dev environments?

Get started with BoxLite in minutes.