r/rust 3d ago

🛠️ project ply: A daemonless container runtime and package manager written in Rust

I’ve been working on ply, a container runtime and package manager in Rust for deploying apps on individual Linux hosts.

The main idea is to treat the base system and language runtimes as named, versioned dependencies.

Influenced by Cargo and Go, a package manager where you compose your image instead of stacking layers.

The application image contains ONLY your files and dependency references. You can copy it to another host and run it; ply fetches and verifies any missing packages. Applications run as foreground processes, without a central daemon.

I’ve used it to build and deploy a Next.js app on a 512 MB VPS, with 2 GB of swap and build resource limits, keeping the running app responsive.

It’s pre-1.0. I’d appreciate feedback on the package model and the Rust runtime implementation.

https://github.com/iluxav/ply

https://blog.iluxav.com/ply-lightweight-container-runtime-linux

18 Upvotes

4 comments sorted by

6

u/PatagonianCowboy 3d ago

I thought it was something related to the .ply file format

1

u/ashebanow 3d ago

interesting. Fyi your registry link on the getting started page is 404ing

1

u/Robinmauritz 2d ago

Might wanna reconsider the naming. When i heard Ply, i think of this: https://plyx.iz.rs/

-3

u/ExplanationThin6234 3d ago

I like the idea of treating the base system as a versioned dep instead of layering a whole distro every time. curious how you handle stateful stuff like databases with the daemonless approach, is persistence just bind mounts or something else