Skip to content

Kjeld Schouten

41 posts by Kjeld Schouten

Exporting TrueCharts SCALE Apps and leaving TrueCharts

With the recent announcement that TrueNAS SCALE 24.10 “Electric Eel” will no longer support Kubernetes-based applications, we at TrueCharts understand that some of our users may be considering a move away from TrueCharts entirely. As TrueCharts has also ended support for TrueNAS SCALE Apps, we recognize the importance of offering pathways for users who want to adjust to this new direction.

For those looking to transition away from TrueCharts, whether by migrating to alternative options such as Docker Compose or using iX-Systems-made Apps, our latest subproject, ClusterTool, provides a powerful solution. ClusterTool has been developed to simplify the migration process, giving users the flexibility to transition smoothly to the setup that best suits their needs.

Even for users who aren’t looking to establish their own Kubernetes cluster, ClusterTool offers robust functionality to export TrueNAS SCALE App configurations. Users can easily convert their GUI-based App configurations into clean, readable YAML files. This export feature preserves existing configurations, providing a record that can be adapted for future deployments or alternative environments without re-entering every setting from scratch.

To help users get started, we’ve created a detailed guide outlining how to use ClusterTool for this purpose. Access the guide and learn how to seamlessly migrate or export your SCALE configurations here: TrueCharts Guide on Exporting SCALE Configurations.

We remain committed to supporting our community, whether users are transitioning to different solutions or adapting their setups within the evolving TrueNAS SCALE environment.

Effortless Hosting with ElfHosted

For users who prefer not to handle the maintenance and management of their self-hosted content, we highly recommend ElfHosted. Visit ElfHosted for a hassle-free, fully managed hosting solution tailored to your needs.

Clustertool Release Candidate

ClusterTool Release Candidate Update

We are pleased to announce that ClusterTool has officially entered Release Candidate status. After extensive development and testing, the general configuration format is now considered stable, ensuring greater reliability and consistency moving forward.

In addition, we are excited to confirm that migration from TrueNAS Scale to your own Kubernetes cluster is now fully supported. This capability enables streamlined transitions, empowering users to harness the full potential of Kubernetes while maintaining their existing data and configurations.

At the bottom of this page (Talos Cluster Guide), you’ll find a helpful guide detailing how to create your talos cluster and migrate your SCALE Apps.

We appreciate your continued support as we move toward the final release and look forward to hearing your feedback during this phase.

Here you can Download the RC-Release: Download Link.

ClusterTool is Now Source-Available

We’re excited to announce that ClusterTool is now source-available! This means that the source code is open for review, collaboration, and contributions from the community. We believe this move will enhance transparency and drive innovation as we continue to improve the platform.

New Guides for CSI Installation and Longhorn Integration

We’re excited to announce that we now offer a selection of guides on how to install a Container Storage Interface (CSI) on Kubernetes. Additionally, Longhorn will be shipped by default with ClusterTool, simplifying your storage management and enhancing your Kubernetes experience. Check out the guides to get started!

Changes in Documentation Leadership

We’d like to announce that @bitpushr is stepping down from the role of Documentation Maintainer. We greatly appreciate his contributions and dedication to maintaining high-quality documentation during his tenure.

Moving forward, @alfi0812 will be taking over as the new Doc Maintainer. We’re excited to have him on board and look forward to the fresh insights and improvements he’ll bring to the role.

Future Prospect for Clustertool and our Helm Charts

At the release of Clustertool, we also hope to add code signing to the build process and a (signed) containerized version as well. So everyone can ensure themselves of it running trusted code!

We’re also working hard at adding all sorts of charts to support (Real-)debrid based streaming and downloading. such as: Comet, Riven, Zurg and much more

Guide to Creating a Talos Cluster with ClusterTool and Migrating Your SCALE Apps

Creating your Talos Cluster

Follow the linked Guides to find more details on how to create your own Talos Cluster using Clustertool.

Afterwards you are ready to migrate your SCALE Apps.

SCALE Apps Migration

To migrate all of your existing SCALE Apps to your Talos Cluster, be sure to read our TrueNAS SCALE Migration Guide

In short, you will need the following commands from ClusterTool:

To export all your SCALE Apps into a ClusterTool compatible format.

To turn the exported Apps into ClusterTool and Fluxcd compatible Helm-Release Files:

And last, but certianly not least, to install the converted Helm-Release Files onto your cluster:

Effortless Hosting with ElfHosted

For users who prefer not to handle the maintenance and management of their self-hosted content, we highly recommend ElfHosted. Visit ElfHosted for a hassle-free, fully managed hosting solution tailored to your needs.

SCALE Migration Path Update

As previously announced, we will share more detailed information on the road forward for our SCALE users on July 1st. We are well into this work and can finally share some preliminary information ahead of the official announcement.

Introducing: Talos Linux

Our alternative will be based on Talos, an immutable and lightweight operating system designed to run Kubernetes efficiently. Talos is open-source, production-quality software supported by a reliable and honest company.

Contrary to some reports, Talos is not limited to deployment on virtual machines. It runs excellently on both virtual machines and bare-metal hardware.

Our guides will cover setting up virtual machines, as they are standardized enough for us to ensure accuracy. These guides are already online, validated, and ready to use! Just visit the docs, clustertool, and virtual-machines sections and get started.

Introducing: ClusterTool

While Talos is a robust system, its default interaction method is quite command-line heavy. We understand that our users may not want to dive into numerous custom CLI commands.

We are excited to introduce our Talos cluster maintenance utility: ClusterTool.

ClusterTool simplifies the setup of a functional Kubernetes cluster, whether single or multi-node, into a single command! Additionally, we are incorporating the Kubernetes Dashboard and KubeApps to provide a GUI for managing and installing applications, similar to the SCALE experience.

Thanks to integration with Talhelper, all Talos configuration is stored in just two files. Even the most critical configuration elements for your core-cluster components are just a single file edit away!

After setup, the complete cluster is truly yours. You can modify anything you like, including the core components we installed.

ClusterTool also supports SOPS encryption, allowing you to safely store your cluster data anywhere. Beyond all of this, we’ve even added advanced tools to upgrade and alter your entire Talos cluster with just a single command.

Migrating from TrueNAS SCALE

ClusterTool will eventually feature automated tooling to migrate all TrueCharts TrueNAS SCALE Apps directly into your new cluster, making the transition seamless. Our current goal is to ensure cluster deployment is rock-solid before introducing migration tooling. Once the ALPHA of ClusterTool is stable, we will prioritize developing reliable migration tools as quickly as possible.

ClusterTool: Roadmap

ClusterTool is not fully ready yet. Here is the official roadmap (please note that these dates may change without prior notice):

  • July 1st: v1.0.0-ALPHA-1
  • August 1st: v1.0.0-BETA-1
  • September 1st: v1.0.0-RC-1
  • October 1st: v1.0.0-RELEASE

ALPHA

  • Not feature-complete; some minor features may malfunction.
  • Only available for testing on throwaway clusters.
  • Will not contain any SCALE Migration Tooling.

BETA

  • Mostly feature-complete with no major changes expected.
  • Will include SCALE Migration tooling.
  • Suitable for permanent migration, but without guarantees.

RC

  • Ready for deployment on smaller setups after internal testing.
  • No major changes requiring redeployment expected.
  • No guarantees, but support will be available where possible.

RELEASE

  • Ready for full deployment.

What to Expect on July 1st

Alongside releasing the ALPHA build of ClusterTool, we will provide a more in-depth explanation of our new tooling and its capabilities. Documentation for all ClusterTool features will be up-to-date and well-polished.

Additionally, there will be changes to our support scope, as we will need to be stricter about what is and isn’t supported on DIY clusters.

Hang tight and see you on July 1st! The TrueCharts Team

Deprecation of TrueNAS SCALE Apps

Like many of you, we’ve been made aware by the decision of iX-Systems to remove Kubernetes from TrueNAS SCALE Electric-Eel onwards. We’re very saddened by this news, as we had some awesome plans in store for all our users, including those on TrueNAS SCALE.

From integrations with popular Kubernetes tools, to our VPN addon and even our latest addition of integrated VolSync S3 backup support, the last few years we’ve spent hundreds of hours pushing the boundaries of what is possible with Helm charts and we will continue to do so.

While we fully agree that iX should offer the option to use docker-compose in addition to Kubernetes-based “custom-app”s, the way this sun-setting without deprecation has been handled, is not acceptable to us. It goes against every fiber of our being, as we prefer to collaborate on moving our loved platforms forward.

We view that both Kubernetes and Docker-Compose have a place, with that place not being mutually exclusive. Sadly enough, iX-Systems does not share that view. It’s a loss-loss situation, where SCALE users will have to trade the loss of TrueCharts with the option of copying-in their own compose files.

A situation that, from our point of view, isn’t, and has never been, needed. But it’s the cards we’ve been dealt.

Our way forward

As always, we’re committed 100% to our users and will help them find solutions.

Currently, we’re exploring multiple strategies by which you will be able to keep using our trusted TrueCharts Charts, even combined with your current TrueNAS SCALE Storage. We’ve learned a lot from our smooth DragonFish migration last month and we’re fully confident we can offer an experience that satisfies our users!

Our time-frame is to have an initial BETA for migration going before 01-07-2024, after which we want to polish and automate the process as much as possible based on user feedback.

Our goodbye

Our goodbyes for TrueCharts on SCALE Apps are bitter-sweet; while we have had a great time working with some people over at iX-Systems, we also don’t see eye-to-eye on many things.

We shall always stand with our users. Which means we also will focus on the way forward from now on, in which TrueNAS SCALE Apps will not be featured and we will instead focus on our other supported platforms and migration options.

We want to thank the TrueNAS community for their constant feedback during the years that TrueCharts as SCALE Apps lasted. We specifically want to thank Waqar Ahmed for the many hours spent polishing the original Apps system and Morgan Littlewood for his continued vision of what TrueNAS SCALE could be.

Refreshed Train Names, Team Changes and DragonFish Support

We’re back with some thrilling announcements that promise to enhance your experience with our platform. From revamped train names to key team appointments and even experimental support for TrueNAS SCALE 24.04 DragonFish, there’s a lot to unpack. Let’s dive right in!

Train Name Refresh: Introducing Premium and System Trains

First off, we’re thrilled to introduce our revamped train names: Premium Train and System Train. Say goodbye to the old names; these new labels better align with the quality and breadth of resources you’ll find within. You’ll find both an automated script and a one-by-one version to deal with this name change for you, for both SCALE and Helm platforms, at the bottom of this article.

Enterprise out, Premium in

This change reflects the fact that this train no longer specifically targets enterprise customers, but in general stands for higher-quality charts.

Hello, Operator? No, this is System

This name change reflects this train no longer just containing operators, but now also includes additional important system charts.

Meet Our New Team Appointments

  1. @bitpushr Assumes Role of Docs Maintainer: Join us in welcoming @bitpushr as our new Docs Maintainer, succeeding @JagrBombs (Steven). With their expertise and dedication, we’re confident our documentation will remain top-notch.

  2. @kofeh Takes Charge as Support Coordinator: Say hello to @kofeh, our new Support Coordinator, succeeding @Xstar97TheNoob. With his stellar communication skills, he’s ready to ensure you receive the assistance you need.

  3. @Xstar97TheNoob Transitions to Stable Train Maintainer: We’re proud to announce that @Xstar97TheNoob is now our Stable Train Maintainer, ensuring the stability and reliability of our platform.

Experimental Support for TrueNAS SCALE 24.04 DragonFish

In a bold move, we’ve added initial prototype support for TrueNAS SCALE 24.04 DragonFish. However, it’s crucial to note that this support is still highly experimental. As such, we do not offer staff support or guarantee data integrity for the BETA or TC versions of TrueNAS SCALE 24.04 DragonFish. You can read more on the steps required for running TrueNAS SCALE 24.04 Dragonfish here.

Our Successful Bounty Program

We’re thrilled to share that our new bounty program has been incredibly successful! This initiative allows contributors to earn rewards for their valuable contributions to our project. If you’d like to learn more or get involved, check out our bounty program on Open Collective: TrueCharts Bounties.

A Note on Donations

While our bounty program has seen fantastic results, it’s important to note that bounties do not replace donations. Our project relies on the continued support of our loyal donors to thrive. If you’d like to contribute to our cause, consider making a donation via our Open Collective page: Donate to TrueCharts.

Conclusion

With these updates and additions, we’re committed to providing you with an unparalleled experience on our platform. As always, your feedback is invaluable to us. Reach out with any questions or suggestions, and stay tuned for more exciting developments!

Thank you for being part of the TrueCharts community.

Note: Automated Migration Script for train name changes

To ensure a seamless transition to the new train names, we’ve developed a script that automates the process across all relevant namespaces. Here’s the code! Please be aware we do not give guarantees and this script may need adapting to your environment and/or additional permissions.

Helm Platform - Automated Migration Script

save as nameupdate.sh and run chmod +x nameupdate.sh before running it

#!/bin/bash
# Loop through all namespaces prefixed by "ix-"
for ns in $(kubectl get namespaces -o jsonpath='{.items[*].metadata.name}' | grep '^ix-'); do
# Check if the namespace has "catalog_train" label set to "enterprise" or "operators"
catalog_train_label=$(kubectl get namespace "$ns" -o jsonpath='{.metadata.labels.catalog_train}')
if [[ "$catalog_train_label" == "enterprise" ]]; then
# Patch the namespace to change the "catalog_train" label to "premium"
kubectl patch namespace "$ns" -p '{"metadata":{"labels":{"catalog_train":"premium"}}}'
echo "Namespace $ns updated from enterprise to premium."
elif [[ "$catalog_train_label" == "operators" ]]; then
# Patch the namespace to change the "catalog_train" label to "system"
kubectl patch namespace "$ns" -p '{"metadata":{"labels":{"catalog_train":"system"}}}'
echo "Namespace $ns updated from operators to system."
fi
done

SCALE Platform - Automated Bash Shell Migration Script

simply copy-paste this into the shell of your TrueNAS SCALE GUI

Terminal window
curl -sSL https://raw.githubusercontent.com/xstar97/scale-scripts/main/scripts/patchTCTrains.sh | bash --

SCALE Platform - Automated Migration Script

save as nameupdate.sh and run chmod +x nameupdate.sh before running it

#!/bin/bash
# Loop through all namespaces prefixed by "ix-"
for ns in $(k3s kubectl get ns --no-headers | grep "^ix-" | awk '{print $1}' ORS=' '); do
# Check if the namespace has "catalog_train" label set to "enterprise" or "operators"
catalog_train_label=$(k3s kubectl get namespace "$ns" -o jsonpath='{.metadata.labels.catalog_train}')
if [[ "$catalog_train_label" == "enterprise" ]]; then
# Patch the namespace to change the "catalog_train" label to "premium"
k3s kubectl patch namespace "$ns" -p '{"metadata":{"labels":{"catalog_train":"premium"}}}'
echo "Namespace $ns updated from enterprise to premium."
elif [[ "$catalog_train_label" == "operators" ]]; then
# Patch the namespace to change the "catalog_train" label to "system"
k3s kubectl patch namespace "$ns" -p '{"metadata":{"labels":{"catalog_train":"system"}}}'
echo "Namespace $ns updated from operators to system."
fi
done

Manual Migration Script

Use this script to manually migrate your existing SCALE apps to the new trains. Replace blocky with the app name in question and premium with the new train-name.

Terminal window
k3s kubectl patch ns ix-blocky -p '{"metadata":{"labels":{"catalog_train":"premium"}}}'

🎉 Introducing: TrueCharts Bounties! 🎉

We’re thrilled to announce a significant update that we believe will make contributing to TrueCharts even more rewarding and engaging for all of you.

Introducing TrueCharts Bounties! We’re revolutionizing the way you can support TrueCharts development and be directly involved in shaping its future.

While our traditional chart-order system served us well, we’ve listened to your feedback and are now transitioning to a dynamic and transparent bounty system. With TrueCharts Bounties, you now have the opportunity to directly influence the development of our charts and contribute to our collective mission in a more impactful way.

What does this mean for you?

🔍 Greater Flexibility: You can now place bounties on GitHub issues or submit chart requests, both of which will be seamlessly integrated into our development pipeline.

💰 Earn Rewards: By placing bounties, you not only support the development of the charts you care about but also have the chance to earn rewards for your contributions.

🛠️ Empowered Collaboration: TrueCharts Bounties foster a collaborative environment where community members can actively participate in shaping the future of TrueCharts.

We want to emphasize the vital role of donations in sustaining TrueCharts. 💖 Your generous support is the lifeblood that keeps our project thriving and enables us to continue providing valuable resources to the community. 💪

To get started with TrueCharts Bounties, visit: TrueCharts Bounties

To make a donation, please visit: Donate to TrueCharts

Whether you’re a seasoned developer, a passionate user, or someone with a great idea, we welcome you to join us in this new chapter of TrueCharts development.

Thank you for your continued support and dedication. Together, we’ll continue to make TrueCharts the best it can be.

Happy charting!

The TrueCharts Team

Embrace KubeApps, Rancher, and FluxCD! 🚀

Exciting news! TrueCharts is taking a leap forward by officially adding support for KubeApps, Rancher, and FluxCD to our deployment options. This expansion complements our existing support for Normal “Native” Helm Charts and TrueNAS SCALE Apps, offering you a broader range of choices for seamless application deployment.

A Quick Recap of the Tiers

Tier 1: Normal “Native” Helm Charts Our versatile foundation! While not the origin, this tier serves as the baseline for Helm Chart functionality. All features work smoothly, and our team, particularly the developers, are well-versed in Helm.

Tier 2: Welcoming KubeApps and FluxCD In this tier, we introduce KubeApps, Rancher, and FluxCD – like the cool cousins of Helm Charts. They come with optional GUI elements, and we’re currently configuring KubeApps and Rancher via YAML through the web GUI, with plans for UI enhancements in 2024.

Tier 3: TrueNAS SCALE Apps and Rancher The third tier introduces TrueNAS SCALE Apps, where a bit more abstraction comes into play. While we strive for the best, 100% stability isn’t guaranteed due to the added layers. Expect some limitations, like fewer features, no direct YAML edits, and a few more bugs.

Not Supported (yet): ArgoCD Currently we’ve one planned future addition: ArgoCD. But due to technical issues from ArgoCD, we cannot yet support it and it will not work reliably yet with TrueCharts Helm Charts either.

Behind the Expansion

This expansion is about offering you more choices while maintaining the excellence you expect from TrueCharts. It’s about enriching your deployment experience with flexibility and reliability.

There is more

But there is more, in addition to supporting KubeApps on Normal Kubernetes, we’ve also released KubeApps as a TrueNAS App. Allowing you to install everything in both Bitnami and TrueCharts Repositories, straight onto your TrueNAS Kubernetes system, using KubeApps!

What’s on the Horizon?

The journey doesn’t stop here! Throughout 2024, we’re delving deeper into KubeApps, Rancher, and FluxCD. Additionally, we’re committed to providing more comprehensive documentation for every Helm Chart and supported platform. Stay tuned for more updates as we continue growing together. 🌐✨

Small SCALE Changes

There have been some minor changes to how some things are done on SCALE. None of them will require a reinstall and the migration steps are not going to cause any likely breakage.

Nextcloud

Nextcloud has moved to the enterprise train. To migrate from stable to enterprise train versions, run the following command in SCALE terminal: k3s kubectl patch ns ix-nextcloud -p '{"metadata":{"labels":{"catalog_train":"enterprise"}}}'

If not using the root user, please prefix this with sudo

GPUs

We’ve decided to remove the SCALE-specific way of handling GPU loading, in favor of the “normal” way it’s done in kubernetes. One of the reasons why we’ve decided to do this, is the fact that the language used by iX-Systems is very confusing for the user and adding their custom middleware on-top of normal kubernetes makes it less reliable.

In short, this means you will have to specify the number of GPU’s to assign to an App under Resources and Devices and then the Resource Limits section, with your specific GPU type (either AMD, NVIDIA or Intel) as below:

GPU

From an end-user perspective, the option has just moved to a slightly different place and instead of a drop-down you’ll have to enter a number of GPU’s to assign, 1 in most cases.

Pre-DragonFish Storage

To make it easier to migrate to DragonFish, all users are advised to set any-and-all references to “StorageClass” to SCALE-ZFS for any existing charts/apps. This option is found under the Storage and Persistence section as below:

SCALE-ZFS

This ensures those charts/apps stay working after migrating to TrueNAS SCALE DragonFish in the future.

If you do not do this, we cannot guarantee your data stays in tact when you move to DragonFish in the future.

Technical Common Changes

These changes do not affect end-users of the charts/apps, but are breaking changes in the common library if used directly by DIY/experienced users building their own helm charts.

Removal of SCALE certificates support

After removing SCALE Certificates support from our GUI setup, we’ve now also removed it from the common library chart.

Removal of iXVolumes

iXVolumes was the weird storage solution designed by iX-Systems that created hostPath mounted datasets, automatically. A bit like PVC, but without complying to any industry standards.

We’ve never been using it, nor ever supported it in our charts. Hence we’ve decided to remove it from the common library chart as well.

Removal of SCALE GPU

Besides the removal of SCALE GPU GUI from the end-user GUI, it’s also completely scrubbed from the common library-chart as it is completely replaced.

Exciting Licensing Changes

We’ve made some important updates regarding the licensing of our Chart Repository and associated Helm-charts. After careful consideration, we have made decisions that we believe will better align with the needs of our OpenSource user base and contribute to the continued growth of the TrueCharts ecosystem.

Transition to AGPL Licensing

One of the primary changes involves transitioning the licensing of the majority of our Chart Repository from BSD-3 to AGPL. This shift reflects our commitment to fostering open collaboration and ensuring that derivative works are also open-source. We believe that this move will contribute to a more vibrant and participatory community around TrueCharts.

Open-Sourcing Charts Under AGPL

In addition to the change in repository licensing, we are excited to announce that many of the charts, previously licensed under the Business-Software-License, are now open-sourced under AGPL as well. This decision is in line with our dedication to open-source principles and providing the community with greater access and freedom.

Commercial Licensing Options

Recognizing the diverse needs of our users, especially our commercial friends, we are introducing a commercial licensing option. This AGPL-less license is designed for use in or with a single cluster. This commercial license comes with a Service Level Agreement (SLA) that includes guaranteed response times, ensuring a reliable and responsive experience for our valued commercial users.

How to Explore Commercial Licensing

If you are interested in exploring our commercial licensing option, please reach out to us at [email protected]. Our team will be happy to discuss your specific requirements and work with you to find a solution that fits your needs.

We believe that these changes will contribute to the continued success and sustainability of TrueCharts. As we evolve, we are more-than-ever committed to open communication and transparency. We value the continued support greatly and look forward to a future of collaboration and innovation within the TrueCharts community.

Thank you all for being part of the TrueCharts journey!

The future of SCALE Apps

In recent weeks, there has been considerable speculation regarding the future of TrueCharts Apps for TrueNAS SCALE, particularly following comments from iX-Systems staff that were interpreted as suggesting a potential shift away from Kubernetes.

Acknowledging the concerns and uncertainties raised by users, we want to clarify our commitment to providing a reliable experience over the next year.

Our primary focus is to enhance the reliability of our Charts and Apps. While there is apprehension about iX-Systems’ stance on Kubernetes, our thorough analysis leads us to believe that a complete removal of Kubernetes-based SCALE Apps from TrueNAS SCALE is unlikely to occur within 2024. We understand the importance of transparency regarding the direction we are headed.

Recognizing the desire among SCALE users for a user-friendly GUI for deploying Helm-Charts as Apps, without grappling with intricate networking and storage issues, we are addressing this gap. Currently, there is a void for such users, and we acknowledge the legitimacy of their concerns.

To address this, we are actively working on supporting another “Helm as Apps” platform by the end of this year. Additionally, we are developing fail-safe solutions to facilitate smooth migration between different Kubernetes backends, with or without Apps, in the event of unexpected disruptions. This includes investments in standardized backup and restore technologies.

Looking beyond 2024, our vision is to continue supporting our robust SCALE Apps for as long as practical. To achieve this, we plan to replace some iX-Systems solutions with more standardized alternatives. Simultaneously, we aim to offer valid alternatives for SCALE Apps without imposing a specific direction on users, fostering a diverse and user-centric ecosystem.

Introducing our AI bot: TrueAI

As 2023 comes to a close, we’re excited to introduce TrueAI, our new support AI for TrueCharts, TrueNAS, and HeavyScript users. This is our way of stepping into 2024 with a focus on enhancing user support through technology.

TrueAI is now available on our Discord server for everyone to use. To interact with the bot, simply mention @TrueAI in your message. The bot is programmed to create a thread in the channel where it’s mentioned, or reply within an existing thread.

Here are some tips for interacting with TrueAI:

  • Indicate whether you’re using TrueNAS or HELM, and mention the version you’re using.
  • Clearly describe what you’re trying to achieve.
  • Mention any specific issues you’re facing.
  • If applicable, include any error messages you’ve encountered.

Please note that TrueAI cannot interact with images or files sent in messages.

If you need more help after using TrueAI, we encourage you to open a support ticket. Our team is ready to assist you.

We hope TrueAI will be a valuable resource for you all. Wishing everyone a happy and successful 2024!

Changes to Storage, Persistence, and PostgreSQL

We’re glad to announce that shortly we will release a big update to all our Apps. This will be a complex update that technically includes a few changes that might break some specific features for some users. While we do not foresee any data loss, it’s imperative to back up your data.

Standardization of PVC Storage

A number of new storage options are being released. These are all optional and should be considered somewhat experimental.

Redesign of Cloudnative-PG

Our Cloudnative-PG backend has been completely rewritten. This should provide more stability, but also carries the risk of introducing new bugs.

Required Migration Steps

If you want to update, here are the instructions:

All Platforms

  • We strongly advise upgrading all charts and not just a select few as the new version of ClusterIssuer might not be fully compatible with charts on old versions.
  • Ingress: In some cases it might be prudent to disable ingress prior to update and enable it again afterwards.
  • Statefulsets: Be sure to remove any statefulsets made by TrueCharts Helm Charts before or after update. See instructions below.

Helm

SCALE

  • Ingress: Most of the cert-manager settings have been moved to “integrations” and they are reset.
  • Ingress: All of the Traefik settings have been moved to “integrations” and they are reset.
  • Ingress: This means you likely will lose TLS and security middlewares after the update, until adapted.
  • CNPG: If present in the old GUI, Instance number and storage size have been moved and reset to defaults.
  • Traefik: After updating, you will need to check a checkbox at the bottom, with a warning confirmation, before you will be able to do any further updates or edits.

Stateful Set Instructions

The charts with statefulsets have a manual step. but it wont require reinstall. make sure to refresh your catalog. We do not have many statefulsets in our catalog, so expect it to be mostly OpenLDAP and/or Redis related.

SCALE

To check which have statefulsets:

Terminal window
k3s kubectl get statefulsets -A | grep "ix-"

Then to delete the statefulset:

Terminal window
k3s kubectl delete statefulset STATEFULSETNAME -n ix-APPNAME

Example:

Terminal window
k3s kubectl delete statefulset blocky-redis -n ix-blocky

Once deleted you can attempt the update (or if you were already updated to latest versions, then edit and save without any changes)

Helm

To check which have statefulsets:

Terminal window
kubectl get statefulsets -A

Then to delete the statefulset:

Terminal window
kubectl delete statefulset STATEFULSETNAME -n APPNAME

Example:

Terminal window
kubectl delete statefulset blocky-redis -n blocky

Once deleted you can attempt the update (or if you were already updated to latest versions, then edit and save without any changes)

Stability Tiers and Helm Support

We’re very glad to announce a new step in our project: Stability Tiers.

What are Stability Tiers?

Stability Tiers is a tier list of platforms supported by TrueCharts, ranked by how well we think our Charts function on each platform. Of course, all platforms get full access to community support, but we want to give realistic expectations on how many “snags” users can experience on the platform of their choice.

Improved First-Tier Helm Support

With the new tiers, we are also finally ready to announce that we’ve completed the required work to officially release our Normal Helm Charts as a first-tier supported platform. This also means that our industry-leading community support is now available for Helm users!

We want to make clear that, just as with SCALE, not every setting we offer is going to work well with every Chart. Sadly, we have not documented this very well, if at all. In the future, we want to document the release state (Experimental or GA) clearly for each Helm option in the documentation.

TrueNAS SCALE and Its Tier

While previously we’ve seen great effort and interest from the developers of TrueNAS SCALE, iXsystems, there’s been a shift in priorities towards limiting Kubernetes support and prioritising their own catalogs at the cost of third parties like TrueCharts. We’ve also noticed a shift away from their previous plans to support multi-node clusters, accompanied by a disappointing disregard for providing any decent backup utility for their platform.

At the same time, we’ve been working hard on hardening our pipelines by signing both our container builds and Helm Charts. Sadly, TrueNAS SCALE, due to explicit design choices by iXsystems, also does not offer any tooling to ensure Helm Charts have their signatures validated before installation. This leads us to conclude that TrueNAS SCALE Apps are inherently less secure and professional than Helm Charts.

All in all, and after long deliberation, this has led us to decide to move TrueNAS SCALE to a “Second Tier” platform, as we cannot fully guarantee the same stability and reliability that normal Helm offers. This, however, does not mean a decrease in development efforts. We’re still planning to fully support the platform where we can and expand both the catalog and our feature set on there in the future.

What it does mean is that some features might be slightly less reliable due to poorly designed “middleware” that is part of TrueNAS SCALE, which we, sadly enough, cannot do much against.

Future Platforms

However, there is more! We’re also glad to announce we’re working on supporting two more ways of deploying our Helm charts:

  • FluxCD
  • Rancher

For FluxCD, we hope to create a catalog of pre-made helm-release+kustomize files that can be readily copy-pasted into your GitOps repository! Even better, we’re working hard to automate the deployment of GitOps with Flux, Sops-Encryption, and even a dedicated operating system: Talos-OS!

For Rancher, while you can already load our helm charts into Rancher and edit the YAML like any other Helm Chart, we are planning to add custom Rancher GUI elements to each and every published Helm chart. Just like with SCALE, but this time fully Kubernetes aware without complicated middleware!

The Tier List

This leads us to the following Stability Tier List, which will be documented on the website insert link here and adapted where needed:

  1. Helm
  2. TrueNAS SCALE

We hope this gives users more clarity on which platform to pick and what experience to expect. We’re super stoked to expand this list in the future to support more awesome platforms!

New CloudNative-PG (CNPG) operator chart.

After building our own MetalLB operator chart, we’ve also now finished the work on building our own CloudNative-PG Chart. As of today this chart will be a requirement for new users if they want to run applications featuring a postgresql database.

Updating to the new Cloudnative-PG helm chart for existing users

We want to point out though, that users should update the new CloudNative-PG Helm chart as soon as possible. To update an existing install with applications using postgresql databases to the new system, the following procedure can be used:

We want to explicitly highlight that this procedure will COMPLETELY DESTROY all your databases. It’s absolutely crucial to export your databases manually beforehand.

  • export all your databases manually, on SCALE using the following guide (do not rely on heavyscript backups for this!)
  • run this in a root shell: k3s kubectl delete --grace-period 30 --v=4 -k https://github.com/truecharts/manifests/delete2
  • install the new cloudnative-pg chart from the operators train
  • wait a few minutes
  • Hit edit and save without changes on all applications using postgresql databases.
  • wait a few minutes
  • Restore all your databases manually, on SCALE using the following guide (do not rely on heavyscript backups for this!)

If you run into additional issues, please file a ticket with our dedicated support staff via the #support channel of our discord as normal.

New MetalLB chart and our own operator charts.

Introdocution: Our own Operator Charts

The last few months, we’ve experimented with injecting so-called “operators” into the cluster directly when using our charts. Manifests for things like: MetalLB, Cert-Manager and CNPG where always loaded. While this system guaranteed users where always running the latest operator versions, we’ve also encountered some downsides. Primarily:

  • Loading manifests from the web is a security issue
  • Loading manifests required a pre-install job, with full-cluster permissions. Which is also a security issue.
  • Mistakes in the manifests, directly affect all users regardless of version
  • It requires creating namespaces outside of the ix-something style, while not an issue that’s something somehow iX developers voiced annoyance with.
  • It lacks any configurability for users that need a customization
  • It prevents users from using these operators outside of the TrueCharts scope on non-scale systems

To fix all of these issues, we’ve had quite the challenge. First off we needed to figure out a way of preventing users from installing multiple instances of the same operator. But we also needed to ensure ourselves that users always had the correct operators installed for the charts they want to install.

We’ve by now designed an industry leading helm logic, that scans your cluster for references of installed operators and compares those to the required operators.

Besides this logic, we also need to write the Helm Charts ourselves. This is a lot of work, as operators are often notoriosly complex to write helm charts for. Luckily we’ve enough experienced Kubernetes developers that we’re certain to pull this off!

First chart: MetalLB

As a first example of our new logic, we’re super happy to introduce our first self-build operator helm chart: MetalLB. It will be completely self-contained within it’s own namespace, not load dynamic manifests from the web and doesn’t contain risky security practices.

Obviously this chart, in the operators train, has a naming conflict with the old metallb chart in the enterprise train, so the later has been renamed to metallb-config requiring a reinstall. We want to point out that only the new metallb-config chart is compatible with the new self-build metallb operator.

We are very happy to also announce that the metallb-config chart, is fully compatible with our old and new ways of installing/managing metallb. However, new installs of the old way of handling metallb (without the chart from the operators train), will be actively disabled from now on.

To use MetalLB on new installs, one needs to install both metallb and metallb-config, in that order.

Updating to the new MetalLB helm chart

We want to point out though, that users should update the new MetalLB Helm chart as soon as possible. To update a current install using MetalLB to the new system, the following procedure can be used:

  • remove the old metallb chart coming from the enterprise train
  • run this in a root shell: k3s kubectl delete --grace-period 30 --v=4 -k https://github.com/truecharts/manifests/delete
  • install the new metallb chart from the operators train
  • wait a few minutes
  • install or update metallb-config to the latest version
  • wait a few minutes
  • Hit edit on metallb-config and save without changes if you where already on the latest version or it isn’t working yet
  • wait a few minutes

If you run into additional issues, please file a ticket with our dedicated support staff via the #support channel of our discord as normal.

Traefik Changes

BLUF: Traefik (Stable) is Deprecated. Users need to add the Enterprise channel and install Traefik. See how to get started

The use of TrueNAS Scale Certificates is also deprecated and you must migrate to Clusterissuer. (note: Clusterissuer replaced Cert-Manager)

As some of you might’ve noticed, Traefik has been a bit outdated the last few weeks. The reason behind this, was a multitude of potentially breaking todo’s where left and we don’t want to bother users with continues manual intervention on breaking changes. By now we’ve fixed the remaining issues and will soon release a breaking-change release for traefik and a patch for all the charts.

In short we’ve ensured that we only use our signature “tc-system” namespace for storing configuration and middlewares for traefik. This ensures consistent behavior for users using ingressClasses and allowed us to, cleanly, fix the known bug where a port got appended to the TrueNAS SCALE “portal” button.

This also means that charts that do not get patches because they are not ported to new common, most notably: Nextcloud Will inherently not work anymore. Though, users would’ve been ill-advised using it at all currently… due to the big ongoing nextcloud rework.

Unrelated new issue

We also got the request from iX-systems staff a while ago to limit our use of non-ix-prefixed namespaces on kubernetes. While the other work to do so, requires a lot of work building our own operator helm-charts, these Traefik changes are the initial step to comply to those wishes. The “low hanging fruit”.

As we’re working hard on building separate operator helm-charts, instead of handling it in the background.This work leads to a unrelated temporary issue, which has been created on purpose: CNPG will currently only be installed on new systems, if one of our “enterprise” charts is being installed. More news about this will be released later.

For any help, please file a ticket with our dedicated support staff via the #support channel of our discord as normal.

Introducing: TrueCharts Stop-All

Previously we’ve warned users against using the stop-button on TrueNAS SCALE. At the same time we also understand, that users expect platform uniformity between Helm and SCALE. That’s why we’re happy to announce our own solution stop our Charts: TrueCharts Stop-All!

About that stop button

First off, we would like to go into a bit more depth about the design issues of the TrueNAS SCALE “Stop” Button. We’ve hinted at it previously, but it’s always good to explain why we need to step in ourselves.

The idea with Kubernetes, is that one tool should be managing deployment of objects at a time. Often indicated by a managed-by annotation on said objects. With TrueNAS SCALE, the middleware, triggers a management tool called “Helm” to deploy objects. So far so good, a GUI isn’t magically able to trigger other software, after all.

However, with the stop button, iX decided to also start editing some of those objects themselves. Specifically “Deployments” and “StatefulSets”, setting them to 0 “replica’s” meaning “run nothing”. That sounds completely fine, however: In these cases “Helm” is the actual management tool for those objects, so everything a helm action is triggered, those modifications are instantly removed.

That’s where the problems start to become bigger and bigger, because helm actions are triggered more often than people realize. For example: A reboot also triggers helm, requiring the same “hacks” to put things “back to sleep” again.

iX also decided to not even include all default objects that are technically “running”, like: Daemonsets, Jobs and Cronjobs. Which leads to issues with breaking jobs or daemonsets/jobs locking access to PVC’s. There it becomes more complicated, as kubernetes does not only exists of those “default” objects. There are also “Custom Resources”, objects that are defined by other charts and there is also the ability of other management tools, like Operators, to add objects.

When making such changes through Helm, it would be relatively easy for Chart/App developers to mitigate this. However, iX decided not to and does not even expose the “stop” button state to the Chart/App developers, leaving us completely without tools to mitigate these design flaws.

In the end, that leave out how the stop button can get into a near endless state of limbo, if not all running objects are stopped correctly… Putting the cherry on top.

Looking for a better way forward

With that all concluded, we decided to look into “what needs to be done”, to get all our Charts to have “stop” button functionality back again. It’s clear that the stop button, even with little fixes, isn’t going to be a future proof design. It completely needs to be redesigned, including all it’s backend logic. Sadly enough, refactors of said scale (pun not even intended), are currently not the priority of iXsystems, so not something we can rely on for our users.

We concluded that the only way to do so reliably, is through Helm itself. We know which objects we have, how they need to be stopped and can do so reliably through Helm. Which means: Do it ourselves!

The solution: TrueCharts Stop-All

With the most recent updates, we’ve introduced a new option: TrueCharts Stop-All This option will cause all your running objects to slowly shut themselves down or, in the case of our postgresql backend (CNPG), “hibernate”.

It’s designed to feature support for all default kubernetes objects deployed using our common chart: Daemonsets, Deployments, StatefulSets, Jobs and Cronjobs. On top we can easily expand that to cover any operator based objects, like cnpg, that needs to be shut down as-well in the future!

How To Use Stop-All

On SCALE

On SCALE this is a little checkbox on editing the App. Check it and its done

NOTE: Do not forget to uncheck the “Stop-All” checkbox to start the App again.

Using Helm

On native Helm, the same functionality is also available: Simply set the following in your values.yaml file:

global:
stopAll: true

Updates recontinued, common-migration mostly done

We’re glad to finally announce the end of our code-freeze. Since a few days we’ve re-enabled our automatic updates and within a few weeks everything should balance out again automatically!

At the same time, we’ve not completely finished porting all stable-train charts to the new common, 65 are still missing. But we’ve clearly label those updates as breaking in the changelog when they come in. Most of those are charts that have more complications than anticipated, so need a little quality time with our maintainers which takes a while.

Known Issues

Now that we’re mostly done, we also need to report a few known issues with the new backend:

  1. DO NOT USE THE STOP BUTTON

The Stop button should not be used on any TrueNAS SCALE Apps that uses postgreSQL. Due to severe design mistakes by iXsystems, it will get into an endless loop and never finish. We’re reported the issue to iXsystems and they are not interested in fixing this.

  1. PostgreSQL breaking on reboot

We’ve seen some edge cases where the new database backend breaks after a reboot. Often after the STOP button was used, though we cannot trace the issue down back to the use of the stop button itself. These issues are reported to the folks over at CNPG and we’ve also thrown them an email to discuss whether we can fund them to fix these issues.

  1. hostNetworking changes

After much R&D, our staff have discovered quite a few nasty kubernetes-level bugs with hostNetworking. As a result, we’ve decided to never enable it by default anymore on any of our charts/apps, as we cannot guarantee its stability. For some charts that, often, require this setting (like tailscale), users would have to manually and explicitly enable it from now on.

The setting has also moved in the GUI.

  1. Deprecated certificate system and you

With most Charts ported, we want to highlight the fact that the “TrueNAS SCALE (Deprecated)” certificate option, should not be used anymore. We cannot guarantee it’s stability nor can do anything at-all to help out. It will also be removed as an option in the future, though that will be months rather than weeks.

The future

With the charts slowly all being ported, we can start working on our long-term plans again. One of those plans is a renewed focus on native Helm Charts.

For May and June, we’re planning to go all-in on improving documentation for use of our charts as normal Helm charts. At the same time we’re going to work on ensuring all our SCALE specific tricks (of which only a few are left, luckily), will have automatic alternatives for normal kubernetes clusters.

To highlight this, we’ve asked Artifact hub, to highlight our Common-Library chart, as an “official” TrueCharts Helm chart. All users of helm should be able to use the power of this advanced common-library, to build the Helm Charts they please… Without even relying on TrueCharts to host their charts for them!

Check it out here and also check out the docs as always.

*Arr revert

While most of our migration to new common worked out reasonably well, we’ve received many issues with regards to another change. Our change for the “Arr” Apps, like Radarr and Prowlarr, to their new Postgresql backend ended up terribly.

We did not correctly anticipate how hard that migration was going to be for our users and also encountered a number of bugs and design mistakes for those Apps. After long consideration and attempted bug-fixing, we’ve decided to revert the move to Postgreqsql for the “Arr” Apps, back to sqlite.

This also means that after next change (which will be flagged as breaking due to moving back the database change) you will also be able to neatly import your “Arr” App backups from old common again.

We’ve very sorry for this revert and we completely understand that we should’ve done considerably more research before implementing this move to a different database version. The revert should be made available shortly, within 24 hours.

Common Porting Progress

We’re close to releasing releasing the breaking port of another 50+ of our “Stable” train charts to the new common train. With this, we want to look back on a few things we’ve noticed with the initial release:

Breaking Changes

Generally speaking, any change in the first semver digit of our versions, means a potentially breaking changes. How much this affects you, usually is effected by both the updates and your personal setup. In this specific case, we want to make extra clear that 99.9% of our SCALE Apps will require manual reinstall.

For SCALE: This also means anything in databases is going to be completely wiped unless you’ve HeavyScript/TrueTool backups and/or have followed one or more of our community migration guides. We should’ve been more clear that this behavior includes any and all databases and is not limited to MariaDB. Sadly enough this “wipe on App deletion” is a design in TrueNAS SCALE and not something we have influence over.

Our Helm users would, in most cases, with adapting their current values(.yaml) file in accordance with the new structure. though databases will still get wiped when doing the update.

GPU Support

GPU support took two snags:

  • One was an obscure SCALE bug where dicts with one item didn’t get rendered in the GUI (and it’s output) accordingly. We’ve created a temporary patch for this to compensate
  • The other was a minor permission issue, namely an additional group that should’ve been passed that got lost in development-translation from old to new common

Both are by now resolved and (being) rolled out. In the future we plan to prevent at least the first issue more thoroughly by manually checking if the interface behaves correctly when doing big GUI changes.

Addons

We’re still having some issues getting the Addons, primarily the VPN addon, behaving correctly. Mostly this is due to significantly increased hardening of our default kubernetes deployment. We expect this to be fixed within a week or two, in the mean time users depending on our charts being used with VPN might want to wait a little.

Discord

There is some annoyance over the fact we use Discord for support. We’re aware of this and are actually contemplating moving to another platform (as well). Sadly enough we do not have unlimited time available to work on the new common, release a new branding style and expand support to another platform. Users can expect a Discord alternative either end of 2023 or somewhere in 2024.

Verbal Abuse

A much less okay subject is the fact multiple of our staff members have suffered verbal abuse of varying degrees. Some have even led to cases where platform (reddit, discord etc.) needed to step in to take action. While sometimes a staff response might seem a tad blunt or not to your liking, some of the things we’ve seen are completely and utterly unacceptable. We’ve a head moderator, JagrBombs if you’ve any issue with a staff member.

We’ve taken steps to prevent needlessly exposing our staff to this. One of which is limiting our presence within certain communities on an as-needed basis.

Conclusion

In the end we’ve gotten a lot of feedback on the new release. Understandably many users are/where upset a reinstall was required. We want to highlight that we understand the frustration, but with the scope of these changes, a complete rewrite of our Common backend, we didn’t have much choice on SCALE. It’s important to note, that users on SCALE cannot update via the update button in almost all cases, so users do not have to worry about magically losing data by using the update button for this release.

Another topic we’ve seen mentioned was “but they say they are production ready”, we want to be completely clear about this: TrueCharts is not production ready at this time. In the future, after a separate announcement, only our “Enterprise” train will be considered “production ready”. We want to highlight that this does not mean “stable” users can expect these breaking changes more often, as we don’t plan to put another 700+ hours into the common chart any time soon. But it does mean, users should NEVER depend on our stable train for production, unless they do so on their own risk.

We wish all our users the best in going through these migrations and our support staff is available on Discord if you need any help.

Post Easter Stable Update

Hope everyone had an amazing easter, we know we had a busy one to say the least!

We are excited to announce that we have completed porting the first 222 charts in our “stable” train to our new “common” library chart. This chart serves as the basis for all of our apps and charts, and we believe that it will provide a more stable and reliable foundation for all of our future work.

While there are still over 160 charts left to be ported in our stable train, we expect to complete this work before the end of the month. To ensure that we have sufficient time to complete this work, we are extending our code freeze for the stable train until May 1, 2023. After this date, we guarantee that we will resume our normal update schedule.

In addition, we want to make it clear that we have lifted the code freeze for our “Enterprise” and “Dependency” charts, and will continue to provide updates for these charts on a regular basis.

It is important to note that this update is considered “most likely breaking,” and will likely wipe all databases used in charts. We also anticipate that there may be some regressions, which is why we encourage users to file bug reports or contact our support staff if they experience any issues.

We would like to take this opportunity to thank our community for their patience and understanding as we work to improve our platform. We believe that these updates will provide significant benefits in terms of stability, reliability, and functionality, and we look forward to sharing them with our users in the coming weeks and months.

As always, we welcome any feedback or suggestions from our users, and we remain committed to providing the best possible experience for everyone who uses our platform. Thank you again for your support, and we look forward to continuing to work with you in the future.

A new ChartsList

After a lot of work by @xstar and review by our staff, we’ve finally officially released our new fancy charts list. It’s now easier than ever to search and provides all the basics at a single glance! Check it out the charts list

At the same time, we’ve decided to remove/hide the list with default ports and paths. We feel that, in due time, this info should be added to our documentation on a per-application basis, on top of that it often lead to confusion as things like ports are not always as simple as they look in a spreadsheet.

As a side-note, we want to highlight the fact TrueTool is not developed anymore and the repository removed. We want to advice everyone to support @heavyBullets and use HeavyScript

HeavyScript is now also featuring special fixes, to ensure TrueCharts SCALE Apps can be stopped if they cannot be stopped in the GUI. This comes in very handy when you want to mount your PVC volumes for maintenance, check it out!

We hope that these changes makes it easier to use TrueCharts for everyone, even those that have not yet picket-out the Chart they want to use!

A fresh look for TrueCharts

We are excited to announce that the TrueCharts project has undergone a makeover with a fresh new look! Our team has been working hard behind the scenes to bring you a new logo, logo animations, and headers is clean, modern, and easily recognizable, making it a perfect representation of what TrueCharts is all about.

We’ve also created logo animations that bring our new logo to life. These new logo animations will help us stand out and make a lasting impression on our audience.

In addition to the new look, we’re thrilled to announce that we’ve launched our official merch store on Etsy!

By purchasing from our merch store, you’re not only getting a cool piece of TrueCharts swag, but you’re also supporting our project. Every purchase helps us continue to develop and improve our platform, making it the best Helm and App repository out there!

We’re very excited about the new look and the launch of our merch store, and we hope you are too. Stay tuned for more exciting news and updates from the TrueCharts project, as we continue to grow and evolve!

The Future of TrueCharts

Two and a half years ago, we started as nothing but a fork of the k8s-at-home project with added support for TrueNAS SCALE. But since then, we’ve grown quickly and surpassed k8s-at-home in many ways with our fresh custom-made common-chart.

Our focus on providing easy-to-use and reliable Helm charts for various applications has been steadily gaining popularity. As our SCALE support solidifies, we’ve been getting more and more questions about supporting other Kubernetes-based platforms. And we want you to know that we’ve been listening!

Recently, we made the first steps towards giving other platforms the attention they deserve by fixing the release workflow for building a normal Helm repository. Starting Q2 2023, we plan to slowly but steadily begin work on supporting Rancher as well, including full GUI support!

You may slowly see changes in things like our documentation structure, Discord channels, and YouTube video names, including the inevitable broken links. But we believe it will be worth it, lets say “for the greater good”…

In addition to expanding our platform support, we’ve also been secretly working on a complete redesign of our project to match our new multi-platform goals. We’re keeping the redesigns a semi-secret for now, but we’re certain that everyone will be amazed by the incredible artwork our designers have come up with!

But we’re not done yet! With the growth of the project and much feedback (Special shoutout to @HeavyBullets from https://heavysetup.info/), it slowly became clear that we couldn’t both build amazing Charts/Apps and offer specialized tools for the platforms we build for. We want to focus on what we’re good at: building those amazing charts.

Taking everything into account and with some pain in our hearts, but also knowing there is a very good alternative out there called “HeavyScript,” we’ve decided to drop development of TrueTool. We would advise everyone to migrate to HeavyScript, which offers a very similar featureset and workflow as the good ‘ol TrueTool!

Overall, we’re excited for what the future holds for the TrueCharts project. We’re committed to providing easy-to-use and reliable Helm charts for our users, and we’re always looking for ways to improve. We believe that focusing on what we do best will allow us to do even more for our users and the community.

Breaking Changes: Enterprise

As part of our March breaking change update of all our apps, we’re glad to announce the first round of updates:

  • Dependency train has been updated, except “Collabora” and “Postgresql” which will be moved to the “stable” train later
  • Enterprise train has been updated
  • Vaultwarden has been added to the enterprise train
  • Authelia has been added to the enterprise train
  • Blocky gained backend support for more query logging options, which will later be added the the TrueNAS SCALE GUI.

We’ve done considerable testing to validate if, and how, we could add automated migration. But the changes are so significant, that the chance of things breaking is many times too high. So while we’re sorry for the inconvenience, users will likely have to reinstall many of their Apps this month.

Luckily enough, the enterprise train did not contain anything using Postgresql databases, so you don’t have to worry about updates nuking databases.

But on the topic of nuking databases: We’re working internally on a script to export all your postgresql databases, which will be released before the stable train will get it’s round of updates. That way you don’t have to manually export all those sql files.

Important

We want to repeat that this will be a breaking change. While some Apps/Charts might update without issue, many will not.

In those cases, the only solution is to reinstall. Due to the fact that the complete backend is rewritten from scratch, it’s simply too much for us to write.

Highlighted changes

We want to highlight some of the biggest changes, as there are some real showstealers in this update to make it worth it!

Cert-Manager Certificates

We’re heard many of you complain about flaky and limited certificate behavior on TrueNAS SCALE. It’s understandable people are upset and so are we.

To ensure users have an actually solid experience, we’ve decided to implement the current industry leading certificates solution: Cert-Manager. It supports more forms of certificates, is faster to setup and is build by people that are actually specialized in certificate management. Which, lets be realistic, NAS developers are not.

Later this month, we’ll release some guides for setting it up, but here’s some screenshots:

Cert-Manager App

Configurable Cloud Native Postgresql

This is our biggest change this release. We moved to a completely different postgresql backend. Backed by CloudNative Postgresql, a kubernetes operator for postgresql.

You might ask “what the heck is an operator”, in short it’s a solution to have a specialized project maintain deployments of things within kubernetes. They write code to ensure things like: updates, upscaling, downscaling and deployment go smoothly. Basically the same thing as Cert-Manager does for certificates, CloudNative Postgresql does for Postgresql Databases.

The upside to this is that we can be certain your database deployments are designed by people that are specialized in the database you want to have deployed. It limits your risk of data-loss and our work of maintaining it. Simply put, your database deployments should be managed by a specialist in databases, not by NAS or Helm-Charts developers.

Postgresql Settings

Enterprise Train and breaking changes

We also want to announce and put-in-place a new breaking-changes policy for the Enterprise train. Which will take effect 01-04-2023:

  • All Charts in the Enterprise train, will get one-by-one attention to write migration scripts where possible
  • If there are breaking changes, we will write migration guides for each of them, customized where needed
  • Breaking changes will be announced at least 3 months in advance and older versions (pre-breaking-change) will continue to be supported for at least 3 months afterwards (so at least 6 months after the announcement of a breaking change)
  • In the future help with migrations will, obviously, be included in the priority enterprise support packages that come with our future SLA offerings for the Enterprise Apps

These measure should ensure users that require our Apps for production use, are not surprised again with unwanted breaking changes in the future. While, at the same time, everything stays available for everyone to work with, for free.

New breaking common release

One of the core components of TrueCharts is our “common” chart, which serves as the basis on which all other charts are built.

The common chart is a massive collection of thousands of lines of code that provide a wide range of features and optimizations for all apps running on the TrueCharts platform. From November of last year until now, the TrueCharts team has been working tirelessly to completely rewrite the common chart from scratch. They’ve also incorporated feedback from the community, including feature requests and bug reports, to ensure that the new common chart meets the needs of all users.

After many months of work, the TrueCharts team is excited to announce that the new common chart is almost here! However, there are some important things that users should be aware of before upgrading. Firstly, deployment of the new common chart will take place in March 2023, and all container updates will be frozen for a month. The new common chart will be deployed in stages for the Enterprise, Dependency (except postgresql), Incubator, and April trains, and then to the stable train and postgresql dependency. This means that users may need to reinstall certain apps, and some settings such as replicas and securityContext will be reset.

Users with PostgreSQL apps will need to be aware that their databases will be nuked, so they will need to take appropriate backups before upgrading. Additionally, users will need to disable VPN before updating, as the new common chart uses a different database backend that allows for the implementation of much-requested backup features and exposes more PostgreSQL settings in the GUI in the future.

Despite these temporary inconveniences, the new common chart promises to deliver many improvements to the TrueCharts platform. For example, there is a new VPN addon based on “Gluetun,” which offers more support for OpenVPN and Wireguard and is a maintained project. This addon will replace the old “OpenVPN” and “WireGuard” options. The new common chart also includes the option to mount a config folder for OpenVPN and the option to mount OpenVPN config directly in values.yaml for native helm users.

There is also an all-new PostgreSQL backend based on “CloudNative-PG,” which supports backup, high-availability, connection pooling, and split RW/RO. Multi-pod support is also now available, which includes potential future GUI compatibility. The new common chart also features automatic detection for env-var conflicts, build-in support for jobs and cronjobs, and a completely new certificate backend based on the industry standard “Cert-Manager.”

In conclusion, the new common chart is a significant update that promises to deliver many improvements and optimizations to the TrueCharts platform. Users should take note of the deployment schedule and be prepared for some temporary inconveniences. However, the long-term benefits of the new common chart should far outweigh any short-term disruptions.

*Summarised:

March will be deployment month, which has the following consequences (until 01-04-2023):

  • In March, we will code freeze all container updates for 1 month
  • During March we will start deploying the new common in stages for the Enterprise, Dependency (except postgresql), Incubator and April trains and in that order.
  • During we will start deploying the new common to the stable train and postgresql dependency.
  • Users might have to reinstall certain apps
  • All apps will have some settings reset such as: replica’s, securityContext etc.
  • Postgresql Apps will automatically nuke their databases
  • Users will have to disable VPN before updating
  • Users will be explained that this is due to moving to a different database backend that allows us to implement the much wanted backup features and expose more postgresql settings in the GUI in the future

A short example of some of the many improvements in the new common chart:

  • A new VPN addon based on “Gluetun”, which offers much more support for OpenVPN and Wireguard and is an actually maintained project (security etc.) It will replace the old “OpenVPN” and “WireGuard” options.
  • The option to (also) mount a config folder instead of just a configfile for OpenVPN.
  • The option to mount OpenVPN config directly in values.yaml, for native helm users
  • An All-New Postgresql backend based on “CloudNative-PG”, supporting things like: Backup, High-Availability, Connection Pooling, Split RW/RO
  • Multi-Pod support, including potential future GUI compatibility.
  • Automatic detection for Env-var conflicts, if user entered custom env-vars conflict with pre-defined ones
  • Build-in support for Jobs and CronJobs, without customizations on a per-app basis.
  • A completely new certificate backend based on the industry standard “Cert-Manager”.
  • Much more hardening of defaults, based on (now automated and required) security scans backed by Datree
  • Much expanded testing suite, counting hundreds of tests for thousands of features

About TrueNAS SCALE 22.12.1

iXsystems just released TrueNAS SCALE 22.12.1 into the wild.

We’ve went ahead and reviewed the release notes, available here

There aren’t any changes that should prevent apps from functioning moving from 22.12 to 22.12.1. Hence we’ve decided to expand support for our Apps to both versions as well.

Please be aware, however, that both migration and backups are broken in 22.12, which are both fixed in 22.12.1. So we would still heavily advice anyone to update. Although the TrueTool hotpatch for 22.12, solves the issues for most users as well.

Our Christmas with iXsystems

At TrueCharts, we are grateful for the support of our partners, especially during the festive season. We were thrilled when iXsystems reached out to us during the holiday season to show their appreciation for the hard work and dedication of our staff to both the TrueNAS SCALE and TrueCharts projects in 2022.

iX Merch image 1

In the past month and a half, packages started to arrive, and they were as amazing as we had expected. Our team was grateful for this extra gesture, which added to the holiday cheer and served as a recognition of the efforts they put into both projects.

iX Merch image 1

We would like to extend our heartfelt thanks to iXsystems for their generosity and support. We wish them all the best for 2023 and look forward to working on some exciting projects together in the future.

Relaunched: Our Helm Repository

We’re is excited to announce that our native Helm Charts are back in action!

After disabling the release of our Helm Charts to our Helm Repository at the end of last year, we received numerous reports of users being impacted by the decision.

We understand the importance of our Helm Charts and how they help users manage their applications on k8s, so we took the time to rethink our approach and create separate pipelines for our SCALE Apps and native Helm Charts. This means that decisions regarding one of them will no longer impact the other.

While our primary target is still TrueNAS SCALE, we do accept enhancement requests and bug reports that only affect native Helm users. In the future, we hope to have a separate maintainer for native Helm-specific issues, but for now, please understand enhancements and bugs that do not affect TrueNAS SCALE are less of a priority unless very severe.

We are also excited to announce the release of our completely rebuilt common chart next month, which will come with state-of-the-art testing and templating. This will empower users, both within and outside of TrueNAS SCALE, to manage their applications with ease. Be sure to check it out when it’s ready!

In conclusion, we are proud to bring back native Helm Charts to our users, and we hope that this will make managing applications on k8s a seamless and enjoyable experience for all.

Check out the Helm Repository over at: https://charts.truecharts.org

TrueCharts NFS Guide

At TrueCharts, we are always striving to make our platform more accessible and user-friendly. That’s why we are excited to announce the release of our comprehensive guide on using NFS shares to bypass TrueNAS SCALE hostPath validation.

Many of our users have expressed concern about this issue and we are happy to provide a clear and easy-to-follow solution. Our guide covers all the necessary steps to set up NFS shares from scratch and directly mount them with our apps. With just a few minutes of work, you’ll be able to use NFS shares to bypass the hostPath validation issues that have been causing headaches for many of our users.

We hope this guide will provide our users with a clear and straightforward solution to this issue. You can access the full guide here.

At TrueCharts, we are always working to improve our platform and provide the best possible user experience. With this guide, we hope to achieve just that!

February 2023 Staff Changes

TrueCharts is proud to announce some exciting changes to our core team in light of our rapidly growing project. With the growing needs of our community, we have decided to switch positions for two of our team members, @JagrBombs (Steven) and @mintyCrackers.

@mintyCrackers will now take on the role of Community Manager, where they will be responsible for fostering a positive and productive environment for our users. Meanwhile, @JagrBombs (Steven) will now serve as Head Moderator, bringing their technical expertise to the forefront of our moderation efforts.

In addition to these changes, we are thrilled to welcome a new member to our core team, XStar aka “The Noob”. XStar will be joining us as Support Manager and will also be the maintainer of the Incubator train.

With these changes, we are confident that we can take TrueCharts beyond even our wildest dreams. We believe that these additions will not only bring fresh perspectives and new ideas, but also help us better serve and support our community.

Thank you for your continued support of TrueCharts, and stay tuned for more exciting updates in the future!

Meet Jellyfin, OpenSource Media Server

As Linus TechTips recently discovered, Jellyfin is a fantastic solution for watching your media from anywhere and our app makes it incredibly easy to install on TrueNAS SCALE.

With the popularity of Jellyfin on the rise, iX-Systems has put together a great guide for setting it up on TrueNAS SCALE using our TrueCharts App. The guide provides step-by-step instructions for getting started with Jellyfin, making it simple for anyone to enjoy their media collection from anywhere. The guide can be found here

At TrueCharts, we are big supporters of open-source software, and believe it is essential to the continued growth and advancement of technology. Jellyfin is no exception, and we encourage users to contribute to the Jellyfin project by visiting their Github repository or donating to their cause through their Open Collective.

The same goes for TrueCharts. Open-source projects like TrueCharts can only survive with the support of its users. If you would like to show your support for TrueCharts, you can donate to our project through Patreon or through our website

Together, we can continue to advance the world of open-source software and provide users with the tools they need to enjoy their media collections from anywhere. Try out our Jellyfin App for TrueNAS SCALE today and see for yourself how easy it is to get started.

Traefik, Prometheus and Grafana moved to Enterprise Train

We’re started the process of moving some more of the core parts of TrueCharts to our Enterprise train. These Apps are important for most of our users and should get the priority treatment the Enterprise Train is known for. This also means users would be required to reinstall these Apps and they will not be available in the stable train anymore. We’re sorry for the added inconvenience, but we’re quite certain that this choice is going to serve our users best in the long term.

Our plans for the Enterprise train are still going strong:

When we deem TrueNAS SCALE Apps “ready for production use”, the Enterprise train will come with Paid support and much additional documentation for each of its Apps. Until that time, it will still be “just another train” and will contain Apps that are very important to the TrueCharts project as a whole.

Happy 2023, Another year of TrueCharts

Happy 2023 everyone! We hope you had a great holiday season and are ready for a productive and successful 2023. As we start the new year, we wanted to announce that we have dropped support for TrueNAS SCALE 22.02 “Angelfish” completely and will only support TrueNAS SCALE 22.12 “BlueFin” moving forward.

Looking back at the past year, we are thrilled to see the tremendous growth of the TrueCharts project. In 2022, our Discord community grew from barely 1000 members to over 5200, and our project donations increased from just 50 euros a month to more than 250 euros a month. We also saw a significant increase in Github stars and the number of apps we offer.

As we look ahead to 2023, we have big plans for the TrueCharts project. Our goal is to reach 10,000 Discord members and offer 1000 apps by the end of the year. We also hope to increase our project donations to 500 euros per month and use these funds more proactively by offering bounties for much-wanted work on the project. Additionally, we will be putting more time and effort into (video) documentation and have almost completed a full refactor of our Common Chart.

Overall, we are excited for the opportunities and potential that 2023 holds for the TrueCharts project. Thank you for your continued support and we can’t wait to see what the new year brings.

TrueTool, Refreshed

We are excited to announce that we have completely reworked our “TrueTool” tool to improve its functionality and reliability.

For those unfamiliar with TrueTool, it is a tool that helps users with bulk-updating of Apps and provides easy access to “hidden” features of TrueNAS SCALE, such as enabling “apt” and “helm” commands.

With the latest update, TrueTool now contains multiple hot-patches that fix migration and backup issues on TrueNAS SCALE 22.12 “bluefin”. It also includes improvements for slower systems with lots of Apps, as well as the removal of colors that were not looking nice in email output.

Many of these changes were made possible thanks to the HeavyScript project, which was started by former staff member “HeavyBullets” in 2022. The HeavyScript project has made numerous improvements to the original (then python-based) TrueTool code, and we have made sure to port as many of these changes back to TrueTool to ensure that all of our users can benefit from them.

Thanks to all these changes, TrueTool is now more reliable than ever and will continue to provide solid updates and backups for our users. We hope that you will find TrueTool to be an invaluable tool for managing your TrueNAS SCALE system as well.

Website and Announcement Changes

Hello TrueCharts community!

We wanted to share some updates with you regarding some changes we’re making to how we communicate and present information on our website.

First and foremost, we have decided to move away from using short tweets for announcements and instead focus on more “complete” longer news posts on our website. We understand that tweets can be easy to miss and often do not provide enough context or information. By posting longer news updates on our website, we hope to provide a more comprehensive and clear understanding of what’s going on with the TrueCharts project.

In addition to this, we have listened to your feedback and have decided to disable interstitial advertisements on our website. We understand that these can be disruptive and we want to prioritize a positive user experience for our community.

Finally, we wanted to let you know that we are hard at work on improving the documentation for our App on the website. This includes creating new index pages and bringing back security-scan pages to provide more in-depth information and resources for our users.

We hope these changes will improve the overall experience for our community and we appreciate your support and feedback. Thank you for being a part of the TrueCharts project!

TrueNAS SCALE 22.12: hostPath Validation

We are excited to finally be able to work with TrueNAS SCALE version 22.12 “BlueFin,” however this version includes a new feature called “hostPath validation.” This feature is designed to ensure the stability and security of TrueNAS SCALE systems by preventing the use of any datasets for apps where that dataset is also used for shares.

This safety check makes sure apps and sharing services (SMB, NFS, etc) do not use the same data. This is done to avoid permissions issues, as there are a lot of apps that change permissions without giving the user a warning, or just plain do not work with ACL’s.

While this feature is an important security measure, it can also be a source of frustration for some users who may be using datasets for both apps and shares. If you are encountering issues with “hostPath validation”, such as Apps being “stuck on deploying” after update, there are three potential solutions you can consider:

  1. Disable “hostPath validation.” If you disable “hostPath validation,” TrueCharts will not provide support on things that involve storage. If you disable “hostPath validation” and have an issue with the app, your configuration screenshots must not have any hostPath storage defined.

  2. Keeping “hostPath validation” enabled and disable shares on any datasets that are also used with apps. TrueCharts will continue to provide support for things that involve storage.

  3. Keeping “hostPath validation” enabled and keep shares enabled on any datasets that are also used with apps. Instead of hostPath, you can mount the dataset using the NFS option on all TrueCharts apps.

The Option to disable “hostPath validation” can be found in Apps -> Settings -> Advanced Settings -> Enable Host Path Safety Checks

We hope these suggestions are helpful in resolving any issues you may be experiencing with “hostPath validation” on TrueNAS SCALE version 22.12 “BlueFin”.

Even faster Release Processing

We are excited to announce that we have recently made significant improvements to our continuous integration (CI) process, reducing the time it takes to process all of our apps from 12 hours to less than 20 minutes. This has been a major focus for us, as we understand the importance of fast feedback and iteration for our developers and users.

One of the key challenges we faced in improving the speed of our CI process was the use of Helm dependency update and Chart Releaser. These tools where essential for managing and releasing our chart packages, but they have no caching and can sometimes break the release pipeline when pushing back into the repository. To address these issue, we developed custom tooling replacing these generalized tools.

Our custom logic works by first checking the repository for any existing chart packages that have been updated since the last release. If any updates are found, we use a combination of caching and selective release processes to ensure that only the necessary chart packages are released and their dependencies updated, rather than releasing all packages every time. The caching and increased efficiency of the new tooling, helps to reduce the overall time required for the CI process and ensures that our release pipeline remains fast-and-stable.

We are confident that these improvements will significantly benefit our developers and users, and we look forward to continuing to optimize and streamline our CI process in the future.

Docker-Compose on TrueNAS SCALE using TrueCharts

From the early stages of TrueNAS SCALE development, we’ve read many complaints about the fact docker-compose wasn’t supported by TrueNAS SCALE. It’s understandable, as it’s one of the most used docker deployment options for home users.

The TrueNAS SCALE community has figured out interesting ways to enable Docker-Compose. But this approaches all have a number of downsides:

  • It’s not future proof, it can be nuked permanently and without warning, with any TrueNAS SCALE update.

  • It inherently breaks SCALE Applications and often even requires those to be disabled.

  • There is no support for this work-around.

To solve this problem, we’ve decided to take matters into our own hands. We are glad to finally announce our solution:

Docker-Compose Application for TrueNAS SCALE by TrueCharts

It’s designed from the ground up, to give users nearly the same experience as running Docker-Compose on the host system, and even contains some nice tweaks:

  • It’s fully backed by TrueNAS SCALE Applications, so it will survive updates.

  • There is a GUI option to input your Docker-Compose file, that will survive reboots.

  • Completely self-contained, and will not modify the default docker stack.

  • Fully compatible to run alongside other TrueNAS SCALE Applications, so you can easily migrate your Docker-Compose applications to TrueNAS SCALE Applications.

  • We are your support if the application does not work as advertised.

All with just one caveat:

  • The Docker-Compose command has to be executed from inside the container shell.

We based our solution on the official Docker-in-Docker container by Docker, with some added tooling to optimize it for single-container deployments. Perhaps most interestingly, the container has native access to /mnt, /root and /cluster, so you can work with your containers like you’re working on the host.

With this in place we hope that TrueNAS SCALE can finally start to fill the big shoes of solutions like Unraid and TrueNAS Core and give the community what they want, not just what they need!

Introducing: TrueCharts Container Repository

The last year we’ve grown at an ever-increasing pace, doubling code and users every few months. Some issues could be fixed quickly and easily, while other issues were vastly more complex. One of those issues happened to be the convoluted mess of different container sources.

These container sources all had different tag formats, rate limits, downtimes, and one even decided to start deleting tags, leading to applications breaking. This, obviously, was not the experience we wanted our users to have.

Therefore, we’ve spent the better part of December setting up our own container distribution system. The TrueCharts Container Repository, or TCCR in short. TCCR is a combination of containers we’ve fully built ourselves and containers we mirror, screen and re-tag into a standardized format. Doing this also allowed us to ensure all containers are available from multiple sources: GHCR, Quay and Dockerhub.

To achieve this, we’ve partnered with scarf.sh, which allows us to easily switch between container sources for our repository, while also giving us something new: metrics. We can finally see which containers are popular and which are not, but we can also see if there are people still using older versions of applications. This allows us to improve our decision-making process: which apps to work on and which older versions to keep supporting.

All of you have (under the hood), already been running TCCR and we’ve only had a handful of issues related to it. We’re happy to have created something that again, highlights us as the number 1 source for TrueNAS SCALE Applications.

Meet TrueCharts - the First App Store for TrueNAS SCALE

Enterprise storage does not need to be rigid and difficult. TrueNAS SCALE is scale-out storage and hyperconverged infrastructure that is also flexible. Key to that flexibility is the inclusion of Kubernetes for deploying containerized (e.g. docker) applications. Kubernetes allows single containers or pods of containers to be easily deployed on a unified infrastructure. A growing assortment of these applications are now preconfigured for easy deployment using a TrueNAS-enhanced implementation of Helm Charts.

Users and third parties can now build catalogs of application charts for deployment with the ease of an app store experience. These catalogs are like app stores for TrueNAS SCALE. iXsystems has been collaborating and sponsoring the team developing TrueCharts, the first and most comprehensive of these app stores. Best of all, the TrueCharts Apps are free and Open Source. TrueCharts offers a diverse set of easily-deployed applications for TrueNAS users, with more than 180 available apps to choose from. We’ve invited the TrueCharts team to write a guest blog to share the details.

TrueCharts

With streamlined Kubernetes support for its ”apps”, TrueNAS SCALE has made the big step of bringing Kubernetes to the masses while staying true to its Open Source philosophy by empowering the community to build their own apps and catalogs. This ability for users to pick their own favorite catalogs for apps has already proven to be popular. Meet TrueCharts, the first community apps catalog!

TrueCharts was built by the founders of a group who developed installation scripts for TrueNAS CORE, called “Jailman”. TrueCharts offers more than what Jailman was capable of: a flexible, user-friendly installer with a freedom of choice that users need and deserve!

Working as a completely independent project, the TrueCharts community has since invested an entire year carefully crafting tools that provide many of the awesome features that Kubernetes has to offer to the TrueNAS SCALE apps ecosystem. For example, all apps can be simply enabled with Traefik reverse proxy and Wireguard VPN capabilities. In addition to the official apps like Plex, Nextcloud, and Minio, TrueCharts adds a huge variety of apps including Vaultwarden, Handbrake, OpenLDAP, Photoprism, Pihole, Syncthing, and more.

TrueCharts was designed with one primary goal in mind: to serve as a solid framework for users who are new to Kubernetes while also exposing as many Kubernetes features as possible for experienced users. Where the official apps by iXsystems focus on easy deployment, TrueCharts focuses on those applications that need a bit more flexibility to customize the app for specific use cases and system environments. TrueCharts is managed from within the TrueNAS SCALE UI. Simply add the catalog and follow the Quick Start guides!

As the release of TrueNAS SCALE 22.02 “AngelFish” is getting closer and closer, the TrueCharts Team and iXsystems are already hard at work looking into a future of apps with high availability, dynamic scaling, and distributed storage. Want to know more about TrueCharts? Visit TrueCharts.org or come visit our great community: TrueCharts on Discord!

TrueCharts and TrueNAS = Endless Possibilities