Skip to content

ContainerForge

An opinionated collection of container images

Welcome to our container images! If you are looking for a container, start by browsing the GitHub Packages page for this repository’s packages.

Our goal is to provide semantically versioned, rootless, and multi-architecture containers for various applications.

We adhere to the KISS principle, logging to stdout, maintaining one process per container, avoiding tools like s6-overlay, and building all images on top of Ubuntu.

We believe in not doing work twice without good reason. That is why we aim to follow the CI standards set by the home-operations community repository

Containers built here do not use immutable tags in the traditional sense, as seen with linuxserver.io or Bitnami. Instead, we insist on pinning to the sha256 digest of the image. While this approach is less visually appealing, it ensures functionality and immutability.

ContainerImmutable
ghcr.io/trueforge-org/home-assistant:rolling
ghcr.io/trueforge-org/home-assistant:2025.5.1
ghcr.io/trueforge-org/home-assistant:rolling@sha256:8053...
ghcr.io/trueforge-org/home-assistant:2025.5.1@sha256:8053...

If pinning an image to the sha256 digest, tools like Renovate can update containers based on digest or version changes.

We have by-default ensured that, by default, all our containers use the TrueNAS Apps user when ran. Even when this is not specifically set!

On top of that TrueNAS can automatically update your container digests.

By picking one of the specific tags you can limit this to: Digest Updates only Major.Minor.Patch Patch and Digest Updates: Major.Minor Patch, Minor and Digest Updates: Major Every update: Rolling

This gives you full control of which Update TrueNAS will offer!

By default the majority of our containers run as a non-root user (568:568), you are able to change the user/group by updating your configuration files. However, for simplicity reasons we cannot give guarantees that changes to the user or group would be bug free.

We aim to base all our containers on-top of our standardised Ubuntu base image. The following base images are available:

  • Ubuntu
  • Python
  • Golang
  • Node
  • Java17
  • Java21

To Be Announced:

  • SteamCMD

in some case-by-case basis, we might instead use an external base. Our aim will always be to replace those with ours in due time

services:
home-assistant:
image: ghcr.io/trueforge-org/home-assistant:2025.5.1
container_name: home-assistant
user: 1000:1000 # The data volume permissions must match this user:group
read_only: true # May require mounting in additional dirs as tmpfs
tmpfs:
- /tmp:rw
# ...

For using our containers on kubernetes, we would advice using our sister-project TrueCharts. That way you get the full benefit of much additional testing prior to deployment.

Some applications only allow certain configurations via command-line arguments rather than environment variables. For such cases, refer to the Kubernetes documentation on defining commands and arguments for a container. Then, specify the desired arguments as shown below:

args:
- --port
- "8080"

For applications requiring persistent configuration data, the configuration volume is hardcoded to /config within the container, whenever reasonably possible. In most cases, this path cannot be changed.

However some applications might require other paths.

These container images are signed using the attest-build-provenance action.

To verify that the image was built by GitHub CI, use the following command:

Terminal window
gh attestation verify --repo trueforge-org/containers oci://oci.trueforge.org/containerforge/${APP}:${TAG}

or by using cosign:

Terminal window
cosign verify-attestation --new-bundle-format --type slsaprovenance1 \
--certificate-oidc-issuer "https://token.actions.githubusercontent.com" \
--certificate-identity-regexp "^https://github.com/trueforge-org/containers/.github/workflows/app-builder.yaml@refs/heads/main" \
oci.trueforge.org/containerforge/${APP}:${TAG}

This repository does not support multiple “channels” for the same application. For example:

  • Prowlarr, Radarr, and Sonarr only publish the develop branch, not the master (stable) branch.
  • Lidarr only publishes the plugins branch
  • qBittorrent is only published with LibTorrent 2.x.

This approach ensures consistency and focuses on streamlined builds.

We encourage contributions of any time.

Containers in this repository may be deprecated for the following reasons:

  1. The upstream application is no longer actively maintained and failing build.
  2. The maintenance burden is unsustainable, such as frequent build failures or instability.
  3. The applicaitons cannot reasonably be made to fit the Mission Statement

Note: Deprecated containers will be announced with a release and remain available in the registry for as long as reasonably possible

Some might ask how our repository differs from [home-operations]https://github.com/home-operations), which we forked and follow. Our repository goals differ in the following areas:

  • We aim to include any containers, even if a good upstream is available. Comparable with linuxserver.io

  • We keep applications even if an application is deprecated, as long as it keeps building. This ensures some updates to dependencies.

  • We also host containers specifically designed for our community projects, such as TrueCharts

  • We use a different user “apps:apps” with uid/gid 568:568

Which repository should I follow? Whichever rocks your boat!

License


Truecharts, is primarily based on a AGPL-v3 license, this ensures almost everyone can use and modify our charts. Licences can vary on a per-Chart basis. This can easily be seen by the presence of a “LICENSE” file in said folder.

An exception to this, has been made for every document inside folders labeled as docs or doc and their subfolders: those folders are not licensed under AGPL-v3 and are considered “all rights reserved”. Said content can be modified and changes submitted per PR, in accordance to the github End User License Agreement.

SPDX-License-Identifier: AGPL-3.0

This repository draws inspiration and ideas from the [home-operations]https://github.com/home-operations), hotio.dev, and linuxserver.io contributors.