A curated collection of container images and flists packaged for deployment on decentralized infrastructure. It provides pre-configured workloads including operating system distributions, databases, web servers, orchestrators, and blockchain nodes optimized for the grid environment.
This repository maintains the build recipes, Dockerfiles, and packaging logic for official workload images. Each image is built as a container and converted to an flist — a lightweight, immutable filesystem image format used for fast provisioning. The repository serves as the source of truth for grid-supported application and OS images.
- Operating system images — Alpine, Arch, CentOS Stream, Debian, Ubuntu (20.04, 22.04, 24.04), NixOS, Umbrel
- Application images — Discourse, Taiga, WordPress, Gitea, Peertube, Jenkins, Jitsi, Mattermost, Nextcloud, Owncloud, Funkwhale, Static websites, and more
- Orchestrator images — K3s for lightweight Kubernetes deployment
- Blockchain node images — Algorand, Casper, Nostr relay, Presearch
- Supporting utilities — Entrypoint scripts, initialization logic, and packaging tools
These images are consumed by the grid deployment layer. When a user requests a workload, the grid fetches the corresponding flist and bootstraps it on the target node. The images are designed to run on ZOS / Zero-OS nodes with minimal overhead and fast startup times.
ZOS, also known as Zero-OS, is the operating system layer used to run and manage nodes. It provides the low-level runtime environment for workloads, networking, storage, and automation. The images in this repository are packaged specifically to run within the ZOS environment.
This technology is used within the ThreeFold ecosystem and was first deployed on the ThreeFold Grid. The component itself is designed as reusable infrastructure technology and should be understood by its technical function first, independent of any specific deployment.
This repository is owned and maintained by TF-Tech NV, a Belgian company responsible for the development and maintenance of this technology.
| Application | Dockerfile | Flist |
|---|---|---|
| Discourse | discourse | https://hub.grid.tf/tf-official-apps/forum.flist |
| Taiga | taiga | https://hub.grid.tf/tf-official-apps/grid3_taiga_docker-latest.flist |
| WordPress | wordpress | https://hub.grid.tf/tf-official-apps/tf-wordpress-latest.flist |
| Gitea (Mycelium) | gitea | https://hub.grid.tf/tf-official-apps/gitea-mycelium.flist |
| Peertube | peertube | https://hub.grid.tf/tf-official-apps/peertube-latest.flist |
| Orchestrator | Dockerfile | Flist |
|---|---|---|
| K3s | K3S | https://hub.grid.tf/tf-official-apps/threefolddev-k3s-v1.31.0.flist |
| OS | Dockerfile | Flist |
|---|---|---|
| Ubuntu 20.04 | Ubuntu 20.04 | https://hub.grid.tf/tf-official-vms/ubuntu-20.04-lts.flist |
| Ubuntu 22.04 | Ubuntu 22.04 | https://hub.grid.tf/tf-official-vms/ubuntu-22.04.flist |
| Ubuntu 24.04 | Ubuntu 24.04 | https://hub.grid.tf/tf-official-vms/ubuntu-24.04-full.flist |
| Image | Flist | Entrypoint |
|---|---|---|
| Alpine | https://hub.grid.tf/tf-official-apps/alpine3.flist | /entrypoint.sh |
| Arch (Mycelium) | https://hub.grid.tf/tf-official-apps/arch_mycelium.flist | /sbin/zinit init |
| CentOS Stream 9 | https://hub.grid.tf/tf-official-apps/centos-stream9.flist | /entrypoint.sh |
| Debian | https://hub.grid.tf/tf-official-apps/debian12.flist | /sbin/zinit init |
| Ubuntu 20.04 | https://hub.grid.tf/tf-official-vms/ubuntu-20.04-lts.flist | /sbin/init.sh |
| Ubuntu 22.04 micro-vm | https://hub.grid.tf/tf-official-vms/ubuntu-22.04.flist | /sbin/zinit init |
| Ubuntu 23.10 micro-vm | https://hub.grid.tf/tf-official-vms/ubuntu-23.10-mycelium.flist | /sbin/zinit init |
| Ubuntu 24.04 micro-vm | https://hub.grid.tf/tf-official-vms/ubuntu-24.04-latest.flist | /sbin/zinit init |
| Umbrel | https://hub.grid.tf/tf-official-apps/umbrel-latest.flist | /sbin/zinit init |
| NixOS micro-vm | https://hub.grid.tf/tf-official-vms/nixos-22.11.flist | /entrypoint.sh |
- Create a new branch for your work from the
developmentbranch. - Push your work to your branch.
- Create a PR and ask for review from code owners.
- Once your PR is approved and merged, ask
@maxuxto promote your newly built flist.
Please follow the issue templates in this repository when creating a new issue.
This project is licensed under the Apache License 2.0 — see the LICENSE file for details.