ivan-hc / Snap2AppImage

A script to convert Snap packages to portable AppImages
3 stars 1 forks source link

advise: rootfs2appimage #1

Closed shenmo7192 closed 1 month ago

shenmo7192 commented 2 months ago

snap2appimage is a wonderful idea. I saw you also make an script that can pack arch linux as appimage.

That inspired me: If it is possible to convert rootfs to appimage, packing services will be much easier ! We do not need docker or other stuff. All we need is to make an rootfs, convert it, then get on ALL IN ONE appimage. That will be SOOOOO convenient.

ivan-hc commented 2 months ago

That inspired me: If it is possible to convert rootfs to appimage [...] That will be SOOOOO convenient.

all depends on what you mean for rootfs into an AppImage. Someone that have this kind of approach is Snap itself, that bundles everything into a package, and sometime the packages are too much big for a simgle application.

I see Snap2appimage as an easy solution to package Electron-based apps easily, for example, this is how I package Chromium and Skype.

A rootfs into an AppImage may bee too bloated and too much big if compared with the app you really need.

When I bundle Arch Linux containers into AppImages I must care about several issues, first of all they require their internal copy of Bubblewrap to bind-mount some components from the host, and Archimage is not good for apps requiring Hardware accelleration, I'm still trying to solve this issue because Archimage is easier to "debloat" and to made even smaller.

In the past weeks or months I started a new kind of approach, using Conty, another Arch Linux container that instead is able to use hardware accelleration, so I was able to bundle not just Steam and Bottles, but also Boxes and VirtualBox KVM. But in Conty its even difficult to debloat the package, so I have always big packages, and I'm working to made them smaller.

If you want to start packaging rootfs-based AppImages, try to made them even smaller.

shenmo7192 commented 2 months ago

That inspired me: If it is possible to convert rootfs to appimage [...] That will be SOOOOO convenient.

all depends on what you mean for rootfs into an AppImage. Someone that have this kind of approach is Snap itself, that bundles everything into a package, and sometime the packages are too much big for a simgle application.

I see Snap2appimage as an easy solution to package Electron-based apps easily, for example, this is how I package Chromium and Skype.

A rootfs into an AppImage may bee too bloated and too much big if compared with the app you really need.

When I bundle Arch Linux containers into AppImages I must care about several issues, first of all they require their internal copy of Bubblewrap to bind-mount some components from the host, and Archimage is not good for apps requiring Hardware accelleration, I'm still trying to solve this issue because Archimage is easier to "debloat" and to made even smaller.

In the past weeks or months I started a new kind of approach, using Conty, another Arch Linux container that instead is able to use hardware accelleration, so I was able to bundle not just Steam and Bottles, but also Boxes and VirtualBox KVM. But in Conty its even difficult to debloat the package, so I have always big packages, and I'm working to made them smaller.

If you want to start packaging rootfs-based AppImages, try to made them even smaller.

The size will be big, yes, but for its convenience, worth it. Also if it is based on alpine it wont be too big.

I assume the rootfs2appimage will be used to deliver server applications instead of desktop apps. The similar solution is docker but docker is difficult to deploy especially when the network environment is poor and it is also very chunky. However, by using rootfs2appimage, all they need is just run it.

No need to configure, no need to type commands, no need to learn how to deploy. Just run it.


For desktop applications, the size indeed a problem.

I think it maybe better to reuse the same libs. Solutions like distrobox maybe better but docker is complex to deploy.

So i change it to bubblewrap. https://gitee.com/amber-ce/amber-ce-bookworm No need to install docker, no need to connect to internet, no need to get a lot of packages to deploy. Just one package and all you need is bubblewrap then you get a complete distro with package manager for ya to reuse same libs.

ivan-hc commented 2 months ago

Again, this remembers me Conty https://github.com/Kron4ek/Conty I suggest to take a look at it.

shenmo7192 commented 2 months ago

Again, this remembers me Conty https://github.com/Kron4ek/Conty I suggest to take a look at it.

OK

shenmo7192 commented 1 month ago

Again, this remembers me Conty https://github.com/Kron4ek/Conty I suggest to take a look at it.

Thank you ! It's just what I'm looking for!

Thank a looooooot!!!!