Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dphilla/boxer
Dockerfile → Universal Wasm Binary
https://github.com/dphilla/boxer
cloud-infrastructure docker dockerfile tools webassembly
Last synced: about 18 hours ago
JSON representation
Dockerfile → Universal Wasm Binary
- Host: GitHub
- URL: https://github.com/dphilla/boxer
- Owner: dphilla
- License: agpl-3.0
- Created: 2022-03-08T23:17:01.000Z (almost 3 years ago)
- Default Branch: dev
- Last Pushed: 2024-12-07T21:28:52.000Z (about 1 month ago)
- Last Synced: 2024-12-07T22:22:27.235Z (about 1 month ago)
- Topics: cloud-infrastructure, docker, dockerfile, tools, webassembly
- Language: Rust
- Homepage: https://boxer.dev
- Size: 56.7 MB
- Stars: 56
- Watchers: 9
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Boxer
**This project is experimental and under rapid development. Not yet for production use (but will be soon) - use at own risk**
# Boxer
## Overview
Boxer is an open-source project designed to reimagine cloud computing by transitioning from traditional container technology to WebAssembly (Wasm) based distributions, known as "Boxes" or "Wasm-Boxes".## Motivation
While containers have been a cornerstone of cloud computing, providing isolated environments for applications, they come with significant drawbacks. They often result in larger, less efficient deployments with slower startup times and rely heavily on the underlying operating system/kernel for security, which can introduce vulnerabilities and platform lock-in.## Solution: Boxer
Boxer offers a new solution by providing tooling for converting existing containerized workloads and definitions into near-universally deployable Wasm distributions. These "Boxes" offer environments comparable to those provided by containers but are vastly more efficient thanks to the lightweight, sandboxed execution capabilities of WebAssembly.
### Key Advantages of WebAssembly:
- **Reduced Overhead:** Wasm's compact binary instruction format ensures lightweight execution, drastically cutting down the overhead seen in traditional containers.
- **Enhanced Performance:** The efficiency of Wasm leads to improved performance and smaller, more efficient deployments, perfectly suited for cloud computing.
- **Superior Security:** Wasm's memory-safe, isolated execution environment provides a higher level of security, independent of the operating system.
- **Run (almost) Everywhere** Wasm can run a anywhere there is a WebAssembly runtime, including browsers, servers, and embedded devices; existing runtimes are available on for a [wide variety of architectures.](https://github.com/appcypher/awesome-wasm-runtimes)## Example
### Dockerfile ➡ (Wasm)Box
For for this file:
```Dockerfile
FROM ubuntu:latest
RUN mkdir -p /app
COPY a.out /app
WORKDIR /app
CMD ["/app/a.out"]
```run `box build -f Dockerfile`
This will bring in libc interaces (as imports) and create the necessary FS state, thus declaritivey creating a ready-to-run Wasm binary.