v0.9.0 is the first release of rurima, some feature are still WIP, but it is already usable as the extended version of ruri.
So, what is rurima?
The enhanced version of ruri.
ruri only focus on running container, but rurima can also provide the function of getting rootfs image and backup/restore.
And it will be a more powerful container manager in the fulture.
With the docker
and lxc
subcommand of rurima, you can search & get & unpack images from dockerhub or LXC mirror easily.
Rurima was planned to be the ruri container manager, but as rurima has a full integration of ruri now, you can just use it as a more powerful version of ruri, although the container manager function is still WIP.
For more info about ruri, see ruri
This project does not follow OCI and can only be a PARTIAL
replacement of docker, this project is still under development.
See TERMS_OF_USE.md
You might need to root your phone before using rurima, some container might not work properly with proot.
For a full usage documentation,
See USAGE.md
* Your warranty is void.
* I am not responsible for anything that may happen to your device by using this program.
* You do it at your own risk and take the responsibility upon yourself.
* This project is open source, you can make your own fork/rewrite but not to blame the author.
* Docker is a registered trademark of Docker, Inc. This program has no relationship with it.
* This program has no Super Cow Powers.
You can get rurima binary (staticly linked) for arm64, armv7, armhf, riscv64, i386, loong64, s390x, ppc64le and x86_64 from the release page.
Or run the follwing command to get rurima to ./rurima and ./rurima-dbg(debug version):
. <(curl -sL https://get.ruri.zip/rurima)
It's a wrap of docker/lxc pull subcommand.
For example:
rurima pull alpine:edge ./test
rurima pull whyour/qinglong ./test
rurima pull ubuntu ./test
It will search lxc image first, if not found, it will auto try to pull rootfs from dockerhub.
Rurima does not allow to set any suid/sgid (with root) or capability on it, it will check it in main() and error() if detected these unsafe settings.
So, please always use sudo instead.
Please use the debug version(rurima-dbg) in release to get debug logs, and please tell me the command you run to cause the unexpected behavior you think!
This program is not official tool of docker or dockerhub, you can report bugs here, but this program has no relation with docker.
Docker is a registered trademark of Docker, Inc.
rurima needs tar, xz, gzip, file, you can find these static binary for aarch64, armv7, x86_64, i386 or riscv64 in:
tar-static
xz-static
gzip-static
file-static
rurima need curl
for downloading images, you can find a third party build here (Thanks stunnel) stunnel/static-curl.
rurima need sha256sum
for checking downloaded file from dockerhub, use --fallback
option can disable this.
rurima need jq
for parsing json, you can find it in jq.
rurima also need proot if you are unpacking rootfs without root privileges, you can find it by the following way:
First, you know your cpu arch, then, for example for aarch64:
curl -sL https://mirrors.tuna.tsinghua.edu.cn/alpine/edge/testing/aarch64/ | grep proot-static
You got:
<tr><td class="link"><a href="proot-static-5.4.0-r1.apk" title="proot-static-5.4.0-r1.apk">proot-static-5.4.0-r1.apk</a></td><td class="size">118.8 KiB</td><td class="date">25 Oct 2024 19:10:30 +0000</td></tr>
So that you download:
https://mirrors.tuna.tsinghua.edu.cn/alpine/edge/testing/aarch64/proot-static-5.4.0-r1.apk
and finally, tar -xvf *.apk to unpack it. So you got proot.static, rename it to proot and put it in your $PATH.
「僕らタイムフライヤー
時を駆け上がるクライマー
時のかくれんぼ
はぐれっこはもういやなんだ」