apt2ostree VS singularity

Compare apt2ostree vs singularity and see what are their differences.

apt2ostree

Build ostree images based on Debian/Ubuntu (by stb-tester)

singularity

SingularityCE is the Community Edition of Singularity, an open source container platform designed to be simple, fast, and secure. (by sylabs)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
apt2ostree singularity
6 3
93 662
- 5.0%
0.0 9.8
over 1 year ago 5 days ago
Python Go
- GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

apt2ostree

Posts with mentions or reviews of apt2ostree. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-01-11.
  • Why Use Make
    10 projects | news.ycombinator.com | 11 Jan 2023
    Hm yes now I remember that point about how the data is anonymous Python objects that you can pass around to functions.

    Are there any open source examples? I looked around the github account, but I mostly remember this tool

    https://github.com/stb-tester/apt2ostree

    I'd be interested in seeing the Python config and Ninja output, to see how it works. Right now it looks to me like the dependencies are more implicit than explicit, e.g. with your copen example

    ---

    The system I ended up with is more like Bazel, but it's not building containers, so it's a slightly different problem. But I'm interested in building containers incrementally without 'docker build'.

    I like the apt lockfile idea definitely ... However I also have a bunch of other blobs and tarballs, that I might not want to check into git. I guess you just put those in OSTree?

    Our config looks like this

    https://github.com/oilshell/oil/blob/master/core/NINJA_subgr...

    And all the code is in build/ninja* of the same repo

  • An ode to Flatpak (and Fedora Silverblue)
    6 projects | /r/linux | 21 Aug 2022
    However, you can get pretty close yourself with a tool like this https://github.com/stb-tester/apt2ostree
  • Docker containers usually still reachable even if bound to 127.0.0.1
    5 projects | news.ycombinator.com | 22 Jun 2022
    With apt2ostree[1] we use lockfiles to allow us to version control the exact versions that were used to build a container. This makes updating the versions explicit and controlled, and building the containers functionally reproducible - albeit not byte-for-byte reproducible.

    [1]: https://github.com/stb-tester/apt2ostree#lockfiles

  • Any plans for an immutable Debian desktop?
    1 project | /r/debian | 21 Mar 2022
    If you have time to test things, you can try to use ostree to manage a Debian installation. This is what Silverblue uses. Their is already a tool to create APT-based ostree images.
  • Lockfiles for packages in a Debian/Ubuntu rootfs
    1 project | news.ycombinator.com | 12 Oct 2021
  • Reproducible builds for Debian: a big step forward
    4 projects | news.ycombinator.com | 12 Oct 2021
    On the subject of reproducible debian-based environments I wrote apt2ostree[1]. It applies the cargo/npm lockfile idea to debian rootfs images. From a list of packages we perform dependency resolution and generate a "lockfile" that contains the complete list of all packages, their versions and their SHAs. You can commit this lockfile to git.

    You can then install Debian or Ubuntu into a chroot just based on this lockfile and end up with a functionally reproducible result. It won't be completely byte identical as your SSH keys, machine-id, etc. will be different between installations, but you'll always end up with the same packages and package versions installed for a given lockfile.

    This has saved us on a few occasions where an apt upgrade had broken the workflow of some of our customers. We could see exactly which package versions changed in git history and roll-back the problematic package before working on fixing it properly. This is vastly better than the traditional `RUN apt-get install -y blah blah` you see in `Dockerfile`s.

    IMO it's also more convenient than debootstrap as you don't need to worry about gpg keys, etc. when building the image. Dependency resolution and gpg key stuff is done at lockfile generation time, so the installation process can be much simpler. In theory it could be made such that only dpkg is required to do the install, rather than the whole of apt, but that's by-the-by.

    apt2ostree itself is probably not interesting to most people as it depends on ostree and ninja but I think the lockfile concept as applied to debian repos could be of much broader interest.

    [1]: https://github.com/stb-tester/apt2ostree#lockfiles

    [2]: https://ostreedev.github.io/ostree/

singularity

Posts with mentions or reviews of singularity. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-03-25.
  • is singularity-ce with centos 7 kernel 3.10.el7.x86
    2 projects | /r/HPC | 25 Mar 2023
  • Docker containers usually still reachable even if bound to 127.0.0.1
    5 projects | news.ycombinator.com | 22 Jun 2022
    rkt (and many other container solutions) was introduced after docker was released and became popular... they even mentioned docker's shortcomings as a motivation for the project creation [0]. It had all the same problems as other replacement software: there were plenty of bugs and missing features, documentation was limited, and there are no community to help you (the announcement explicitly mentions "prototype quality release"). None of those would be fatal if it was significantly better than docker, but it was not -- it was basically the same functionality. So almost no one made the switch. It is closed now [1]

    And why "rkt"? There were much better alternative container runtimes. For example Sylabs Singularity [2] -- container-as-a-file, instant mounting, etc... I wish more people knew about it.

    [0] https://web.archive.org/web/20141201181834/https://coreos.co...

    [1] https://github.com/rkt/rkt#warning-end-of-project-warning

    [2] https://github.com/sylabs/singularity#singularityce

  • ELI5: Why does the FreeBSD community hate Docker and Kubernetes so much?
    1 project | /r/freebsd | 26 Nov 2021
    Docker (and the current generation of OCI runtimes) is rather shitty at host OS isolation too. It may have started well, but over time more capabilities were added for the convenience of developers and at the cost of maintainers. I would personally love if the ecosystem were to shift to more isolated workloads with better HPC support. Singualrity looks promising but still maintains OCI compatibility.

What are some alternatives?

When comparing apt2ostree and singularity you can also consider the following projects:

ostree - Operating system and container binary deployment and upgrades

apptainer - Apptainer: Application containers for Linux

chromium - The official GitHub mirror of the Chromium source

singularity-cri - The Singularity implementation of the Kubernetes Container Runtime Interface

rkt

singularity - Singularity has been renamed to Apptainer as part of us moving the project to the Linux Foundation. This repo has been persisted as a snapshot right before the changes.

eget - Easily install prebuilt binaries from GitHub.

warewulf - Warewulf is a stateless and diskless container operating system provisioning system for large clusters of bare metal and/or virtual systems.

knit - A simple and flexible build tool using Lua, similar to make/mk.

img - Standalone, daemon-less, unprivileged Dockerfile and OCI compatible container image builder.

office365-pol - [OUTDATED] A PlayOnLinux script that utilizes the version of Wine made for CrossOver to run Microsoft 365 Apps / Office 365 without requiring any paid CrossOver components

ufw-docker - To fix the Docker and UFW security flaw without disabling iptables