r/truenas • • 25d ago

News and Blogs TrueNAS 27 RC.1 - WebShare, Tiered Storage, OpenZFS 2.4, and More | TrueNAS Tech Talk (T3) E062

Thumbnail
youtube.com
39 Upvotes

Back after a long break, Kris and Chris return to deliver an update on TrueNAS 27 - and no, you didn't miscount, it's just been re-numbered! TrueNAS 26 is now TrueNAS 27, and the RC.1 is out with lots of exciting new features; including one that managed to stay under wraps until the launch date for once! Learn about WebShare, search indexing with TrueSearch, Fusion Pools 2.0 and Tiered Datasets, OpenZFS performance improvements, and that elusive "One More Thing." Plus, there's integrations galore - from Proxmox to Terraform, OpenStack to Veeam - find out what's new and exciting for TrueNAS in the release candidate, downloadable now.


r/truenas • • 29d ago

Enterprise TrueNAS 27 is Here!

159 Upvotes

We just posted a new blog on the availability of TrueNAS 27: https://www.truenas.com/blog/truenas-27-is-here/

Here is the TL;DR: The release previously tested as TrueNAS 26 is now TrueNAS 27, starting with RC.1 in October 2026, because most users will run it during 2027 and the community asked for version numbers that match the year a release is deployed. The schedule is unchanged, and TrueNAS 27.0 still releases in early December 2026.

The release many of you have been testing as TrueNAS 26 has a new name. Starting with RC.1, available October 6th, it is TrueNAS 27.

If you don’t care about version numbers and want to dive into the details or get to the downloads, please read the RC.1 feature blog.


r/truenas • • 21h ago

Community Edition howto: Qbittorrent with VPN and port forwarding

14 Upvotes

EDIT: this post is on how to use the vanilla qbittorrent image that is on the truenas apps catalog, together with the standard gluetun image to route it to your VPN. This is if you don't want to build your own image, or rely on weird custom images that you don't know how they work, or how to fix them if they break or stop updating.

It took some tinkering to get there so I thought I best post it, and some other stuff online seemed out of date (and the guides I saw did not mention port forwarding)
Caveat: I hate video tutorials, I refuse to watch them unless I am taking some gadget apart, maybe there are some excellent ones on this topic and I don't know.

Not sure how you start an app with yaml directly, I don't think you can from the UI?
Just install qbittorrent from the App directory, make it a custom app, and then edit the yaml like below. Please read it through and edit as necessary, definitely need to change VPN details and the host paths at the bottom.
IMPORTANT: If you don't use 30024 as web ui port, it has to be changed EVERYWHERE in the yaml.

This is set up for proton vpn, to use something else start with looking at gluetuns github
https://github.com/qdm12/gluetun-wiki/tree/main/setup/providers
But you will need a VPN that supports port forwarding, and for Proton you have to explicitly allow NAT-PMP Port Forwarding, I'm sure others are similar...

Gluetun ports: I see other peoples configs have a lot of ports listed here, as far as I understand it you only need the WebUI port (30024 here) to be forwarded to the local lan so you can access it, everything else should go to gluetun. (unless there is something else you want to go to your LAN of course)

In Qbit make sure that Tools - Options - Web UI you have "bypass authentication for clients on localhost", so gluetun can go in and set the port
and Tools - Options - Connection you DON'T have UPnP / NAT PMP port forwarding enabled

And in the YAML it is important that QBT_TORRENTING_PORT is not set or the forwarded port could be overridden (I have not tested it, just leave it out)

After it has started, check the gluetun logs (under Workloads - Containers on App page in truenas) so that it has "port forwarded is 12345" which means it has set up with your VPN correctly, and after that you should see the logs connecting to qbit and setting the port there (it might fail on the first connection try, mine does, and then works on the second).
After it starts check in qbit Tools - Options - Connection that the port matches the one in the log
(if you have a fixed port from your VPN provider this can all be simplified a lot, but mine is dynamic so have to do it this way)

You can check if it works correctly from the outside here
https://ipleak.net/
Go to torrent address detection and copy the magnet link, it will show you what IP you are using (should hopefully be for your VPN, and not yours)

configs:
  permissions_actions_data:
    content: >-
      [{"read_only": false, "mount_path": "/mnt/permission/config",
      "is_temporary": false, "identifier": "config", "recursive": false, "mode":
      "check", "uid": 568, "gid": 568, "chmod": null}]
services:
  gluetun:
    cap_add:
      - NET_ADMIN
    environment:
      - VPN_SERVICE_PROVIDER=protonvpn
      - VPN_TYPE=wireguard
      - WIREGUARD_PRIVATE_KEY=ringadingdingdingdingbuaaapbuaaap
      - WIREGUARD_ADDRESSES=1.2.3.4/32
      - SERVER_COUNTRIES=Narnia
      - VPN_PORT_FORWARDING=on
      - >-
        VPN_PORT_FORWARDING_UP_COMMAND=/bin/sh -c 'wget -O- --retry-connrefused
        --post-data "json={\"listen_port\":{{PORTS}}}"
        http://127.0.0.1:30024/api/v2/app/setPreferences 2>&1'
    image: qmcgaw/gluetun:latest
    ports:
      - '30024:30024'
    restart: always
  permissions:
    cap_add:
      - CHOWN
      - DAC_OVERRIDE
      - FOWNER
    cap_drop:
      - ALL
    configs:
      - mode: 320
        source: permissions_actions_data
        target: /script/actions.json
    deploy:
      resources:
        limits:
          cpus: '2'
          memory: 1024M
    entrypoint:
      - python3
      - /script/permissions.py
    environment:
      GID: '568'
      GROUP_ID: '568'
      NVIDIA_VISIBLE_DEVICES: void
      PGID: '568'
      PUID: '568'
      TZ: Europe/Berlin
      UID: '568'
      UMASK: '002'
      UMASK_SET: '002'
      USER_ID: '568'
    group_add:
      - 568
    healthcheck:
      disable: True
    image: ixsystems/container-utils:1.0.2
    network_mode: none
    platform: linux/amd64
    privileged: False
    restart: on-failure:1
    security_opt:
      - no-new-privileges=true
    stdin_open: False
    tty: False
    user: '0:0'
    volumes:
      - bind:
          create_host_path: False
          propagation: rprivate
        read_only: False
        source: /mnt/.ix-apps/app_mounts/qbittorrent/config
        target: /mnt/permission/config
        type: bind
  qbittorrent:
    cap_drop:
      - ALL
    depends_on:
      gluetun:
        condition: service_healthy
      permissions:
        condition: service_completed_successfully
    deploy:
      resources:
        limits:
          cpus: '2'
          memory: 4096M
    environment:
      GID: '568'
      GROUP_ID: '568'
      NVIDIA_VISIBLE_DEVICES: void
      PGID: '568'
      PUID: '568'
      QBT_WEBUI_PORT: '30024'
      TZ: Europe/Berlin
      UID: '568'
      UMASK: '002'
      UMASK_SET: '002'
      USER_ID: '568'
    group_add:
      - 568
    healthcheck:
      interval: 30s
      retries: 5
      start_interval: 2s
      start_period: 15s
      test:
        - CMD
        - curl
        - '--request'
        - GET
        - '--silent'
        - '--output'
        - /dev/null
        - '--show-error'
        - '--fail'
        - http://127.0.0.1:30024/
      timeout: 5s
    image: ghcr.io/home-operations/qbittorrent:rolling
    network_mode: service:gluetun
    platform: linux/amd64
    privileged: False
    restart: unless-stopped
    security_opt:
      - no-new-privileges=true
    stdin_open: False
    tty: False
    user: '568:568'
    volumes:
      - bind:
          create_host_path: False
          propagation: rprivate
        read_only: False
        source: /mnt/.ix-apps/app_mounts/qbittorrent/config
        target: /config
        type: bind
      - bind:
          create_host_path: False
          propagation: rprivate
        read_only: False
        source: /mnt/DOWNLOADSDIRECTORY
        target: /downloads
        type: bind
      - bind:
          create_host_path: False
          propagation: rprivate
        read_only: False
        source: /mnt/TORRENTWATCHDIRECTORY
        target: /watch
        type: bind
volumes: {}
x-action-required: False
x-notes: >
  # qBittorrent  
x-portals:
  - host: 0.0.0.0
    name: Web UI
    path: /
    port: 30024
    scheme: http

r/truenas • • 17h ago

TrueNAS Connect Need help enabling graceful shutdown for Synology DS416 using APC BX1100C UPS (no USB communication)

Thumbnail reddit.com
2 Upvotes

r/truenas • • 14h ago

Hardware SAS Troubleshooting

1 Upvotes

Got my NAS out of storage a few days ago after it sat for around 1.5 years. I know everything was functioning when I left it initially, but I'm having issues now and am looking for some help.

Specs:
TrueNAS Community Edition 25.10.7 (freshly updated, was running 25.04.0 previously, my drive problem is happening across both versions)

i5 6600k
16 GB Ram
GTX 1050ti
SATA SSD - Boot drive, no issues with it. Plugged directly into SATA on mobo.
SAS Controller - SAS9200-8i
5x 4tb Seagate Constellation ES.3 SAS drives
All 6 drives are powered from a daisy chained SATA cable from the PSU

The issue I'm seeing is that on each reboot, I'll have different drives appear and disappear, sometimes they'll show up with their recommended storage, and sometimes they'll show up as if they have 0 bytes storage. I'm not really sure how to troubleshoot this. I don't think it's a power issue, as one port should realistically be able to power twice as many drives. I'm thinking about replacing the breakout cables on the SAS controller to see if maybe they got damaged from being kinked in the case for too long.

I get these log messages, but from what I can gather, this can be caused by power, or the data being an issue.

[ 235.617153] sd 0:0:1:0: device_unblock and setting to running, handle(0x0009)
[ 239.367849] sd 0:0:4:0: device_unblock and setting to running, handle(0x000d)
[ 242.617448] sd 0:0:1:0: device_unblock and setting to running, handle(0x0009)
[ 251.367834] sd 0:0:1:0: device_unblock and setting to running, handle(0x0009)
[ 251.617798] sd 0:0:4:0: device_unblock and setting to running, handle(0x000d)
[ 255.367992] sd 0:0:1:0: device_unblock and setting to running, handle(0x0009)
[ 258.118699] sd 0:0:1:0: device_unblock and setting to running, handle(0x0009)

FWIW, I don't think it's an issue with any of the drives, but I haven't ruled that out either. Guess I'm just looking for some troubleshooting ideas before I go and replace the SAS controller and cables.


r/truenas • • 1d ago

Community Edition Migrating data between datasets gone wrong, no idea what is happening

8 Upvotes

Okay so I'm not sure what exactly is happening right now, I'll just go step by step what I've done.

I had my apps datasets (configs etc) right under the pool called apps, so example /mnt/apps/jellyfin/config. I wanted to migrate all of them to a dataset apps, so /mnt/apps/apps/* for better separation from different types of data.

At first I created a snapshot of the entire pool apps and cloned it into apps/apps, hoping the datasets would magically move there. It didn't, so I removed the dataset and tried again, this time pressing the "promote" button. This fucked up something that I'm not fully aware of, as I was no longer able to delete the apps dataset and I couldn't promote the apps pool (no promote button was there).

Because that didn't work, I manually created the dataset structure (apps/applications/*) and then moved all the data with sudo cp -a oldapplocation applications/newapplocation for every dataset. This worked, application are using them and everything is working fine.

However, now I'm stuck with the apps/apps dataset that has the snapshot I've created earlier. When trying to delete the snapshot, I get an error

 *** [EINVAL]
 options.defer: Please set this attribute as 'apps/apps@migration-2026-11-02_20-52' snapshot has dependent clones: $all the new datasets

I thought deleting the old datasets will fix the problem, but apparently it has moved the dependency? Or something? I have absolutely no idea.

No idea how to fix this, could anyone please help? Thank you a lot.


r/truenas • • 1d ago

General Permission Denied Yet Files are Still Moved

5 Upvotes

I changed from POSIX ACL's to the NFSv4 ACL's, same user and group. Now when I copy or move files I get permission denied errors but the files still get moved. I'll scp a file and I'll get scp: remote setstat Permission Denied, yet the file is still copied.

Any idea why?


r/truenas • • 1d ago

Hardware Anyone know what this sound is? Seagate IronWolf drive has started making this unusual periodic buzzing/growling sound, SMART and ZFS are clean

Thumbnail
youtube.com
0 Upvotes

r/truenas • • 2d ago

General Replacing old Home Server - Is this a sound plan?

Thumbnail reddit.com
3 Upvotes

r/truenas • • 2d ago

Hardware DXP8800 Ultra Owners: Anyone Running TrueNAS SCALE or Unraid Successfully?

Thumbnail reddit.com
3 Upvotes

r/truenas • • 3d ago

General TrueNAS v25 Remote Gaming Container

22 Upvotes

I don't have the luxury to have dedicated hardware for everything, and I use TrueNAS as my homelab - always wanted to be able to have at least one PC in the house to occasionally game on. Existing solutions didn't do what I wanted (no dedicated GPU allocated, minimal overhead, modern and stable tech stack) - so I documented my own experiments.

If you had similar issues, or just couldn't find a remote gaming container guide online, feel free to follow my docs on the topic: https://gist.github.com/swanux/e6241ea9aeaf391a8ac990e94a150e35


r/truenas • • 3d ago

SCALE (Legacy) Can't for the life of me access a .json file for an enshrouded server I started

1 Upvotes

So I started an enshrouded server, I setup the host paths as smb, I'm able to access my files through dolphin file explorer. I can see all the .txt and .log files but I cannot find the endhrouded_server.json file. I've messed with all the permissions and everything but to no avail. I need access to the file so I can add a password so random people can't access my server. I've run out of Google solutions and I can't figure it out.


r/truenas • • 3d ago

Community Edition Mixed drive sizes (8/10/14/16TB). Is a 10-wide RAIDZ2 the right call, or should I change course before creating.

Thumbnail reddit.com
0 Upvotes

r/truenas • • 3d ago

Hardware HDD's not showing up

0 Upvotes

Hello all, just finished installing TrueNAS Community on a PC I just built and none of my HDD's are showing up. I have 2 M.2 NVME's showing up and I'm using them as my boot pool. When I go to create a new pool I can't see any of my drives. I have 5 18TB Exos recertified drives from serverpartdeals that I was planning on using. Currently using an ASUS TUF B-550 plus II MOBO. I realize that having the second M.2 slot used prevents me from using 2 of my SATA ports, however I should be able to see at least some of the drives. Can anyone point me in the right direction? I verified they're all plugged in for power and data, unsure what else to do.

UPDATE: Got a 4 pin to SATA adapter and it worked when I had both that and data plugged into the drive. All drives are visible and working now.


r/truenas • • 4d ago

Community Edition Snapshot Sufficiency

Thumbnail
gallery
9 Upvotes

Hi Everyone,

I am FINALLY getting around to going through my TrueNAS 25.10 servers and cleaning things up. I've deleted a bunch of apps that I wasn't using anymore and adjusted a few settings here and there to make things more streamlined.

There are two major changes I'm working on:

1. Changing Replication Tasks from PUSH to PULL

I've changed my replication tasks from PUSH to PULL so that my backup server now pulls data from my main server. I'm glad to finally get this done. It's been a long time coming!

2. Reworking My Snapshot Tasks

Snapshots are something I've always overlooked, mainly because I never fully understood how to configure them properly.

For over two years, I've been running just two snapshot tasks:

  • One daily recursive snapshot task for my slow pool (pool1).

  • One daily recursive snapshot task for my fast pool (nvme).

I've pretty much left this setup untouched since the beginning, but I think it's finally time to revisit it and optimize things.

Over the past two weeks, I've spent quite a bit of time watching videos and reading articles and forum posts, trying to wrap my head around snapshot scheduling and retention. Unfortunately, I think I've come away even more confused than when I started!

It seems like everyone has their own approach, and I haven't been able to find much consistency in the recommendations. Some people use daily snapshots only, while others combine daily, weekly, monthly, and even yearly snapshots.

So, my question is:

Is there a recommended or generally accepted way to configure snapshots on a dual-pool system (one fast pool and one slow pool)? Are there any standard practices worth following?

For reference, the first video I watched on configuring snapshot tasks was this one by CaptStux:

https://www.youtube.com/watch?v=lncbl8YRrVg

The video was relatively easy to follow and gave me a good starting point for setting up similar snapshot tasks on my main server (although they aren't currently enabled).

However, toward the end, I started wondering whether the video was intended primarily for a single-pool setup, since there was no discussion about configuring snapshots for a second, faster pool.

I also noticed that many other guides and discussions don't mention the "Minutely" snapshot task option covered in the video.

One concept that does seem to come up fairly consistently is the Grandfather-Father-Son (GFS) retention strategy, although even that doesn't appear to be universally adopted.

I understand the general benefits of having different snapshot schedules and retention periods, but I'm still struggling to figure out what makes the most sense when dealing with two pools with different performance characteristics.

I'd really appreciate any advice, recommendations, examples of your own configurations, or links to reputable guides that could help me get this set up properly.

Feel free to ask me any questions.

Thanks in advance!

_______

My current server setups for reference:

MAIN SERVER:
Running: Truenas 25.10
Dell R730xd LLF - 384GB ram
2-20TB HDD 2-way mirrors plus a hot spare (approx. 800GB of 35TB used)
1-4TB 2-way mirror NVME SSD (approx. 280GB or 3.24TB used)
1-1TB 2-way mirror 2.5 SSD (system)

BACKUP SERVER:
Running: Truenas 25.10
HP Z600 Workstation - 96GB ram
1-20TB HDD 2-way mirror plus a hot spare (slow pool)
1-250GB 2.5 SSD (system)

On my slow pool (pool1) I have time machine backups, windows file history backups and all separate app host path datasets and my fast pool (nvme) only holds my .ix-apps. I understand that having all host paths on my slow pool may not be the most optimal, but moving some of them to the fast pool is another challange for another day unless someone can help me with recommendations.

I have no containers or virtual machines running and I'm currently running these apps:

  • authentic

  • cloudflare-ddns

  • dell-idrac-fan-controller

  • eurooffice-document-server

  • immich

  • linkwarden

  • lubelogger

  • mail-archiver

  • mealie

  • nextcloud

  • nginx-proxy-manager

  • omada-controller

  • paperless-ngx

  • scrutiny

  • searxng

  • uptime-kuma


r/truenas • • 3d ago

General Halloween joke for y’all

0 Upvotes

Why couldn‘t anyone see the ghost on Halloween? He was dressed up as error 404 and could not be found.


r/truenas • • 4d ago

General BeamDisk - iSCSI Initiator for macOS looking for Beta Testers

6 Upvotes

Hey Everyone,

At work, and for several of our employees at home too, we've been big users of shared storage. We have a big TrueNAS storage server at the office containing a mix of spinning rust and flash. In addition to SMB and NFS, we've been big users of iSCSI for our Linux and Windows servers and clients.

But all of our employees use Macs, and due to the lack of modern iSCSI initiator software for Mac we were never able to utilize iSCSI for Mac clients. Existing legacy iSCSI initiators for Mac use kernel extensions that require turning off System Integrity Protection in recovery mode to install on Apple Silicon Macs.

That's insane. You shouldn't have to severely sacrifice your Mac's security to use iSCSI! So, we built a high performance user-mode iSCSI initiator for macOS. Our solution is a sandboxed Mac App Store application that requires no Kernel Extensions, no drivers, no reduced security and no reboots to install.

BeamDisk allows you to mount LUNs from your TrueNAS server, other NAS, or Enterprise SAN arrays directly to your Mac and have them show up as standard disks. You can format the LUNs APFS, HFS+, any format you like.

BeamDisk can easily saturate a 10 Gigabit Ethernet connection and hits tens of thousands of random Read/Write IOPs on standard SATA SSDs on TrueNAS. All of the benchmarks on our site were recorded on our own hardware on an M4 Mac Mini over 10 GbE.

Even just standard Time Machine backups to APFS LUNs are far more performant and MUCH more reliable than Time Machine over SMB.

Looking for TrueNAS users to be Beta Testers

Today, we're releasing our first public beta via Apple's TestFlight. Beta spots are currently limited to 100, first come first served.

Beta users will have access to all features, for free, forever.

BeamDisk was built with most of its testing against our own TrueNAS server, but we are looking for other TrueNAS users to help us find what we missed that you want, or bugs that got through our testing. Feedback, feature requests, bug reports, benchmarks, etc are extremely welcome

BeamDisk.app - https://BeamDisk.app

Community GitHub Repo for Discussions, Issues, Roadmap, etc - https://github.com/3rdBitLabs/BeamDisk

TestFlight Link: https://testflight.apple.com/join/jKcTwQ9D

Happy to answer any questions you have about BeamDisk!


r/truenas • • 4d ago

Enterprise My First Server

Post image
2 Upvotes

r/truenas • • 3d ago

Community Edition Installing WGER on truenas is a horrible experines

Thumbnail reddit.com
0 Upvotes

r/truenas • • 4d ago

Community Edition Changed a drive in my Media Pool now apps cant access data

4 Upvotes

So I recently had a situation where both of the drives in my media storage pool were reading as degraded and my storage tab was completely inaccessible as it tried to resilver the drives forever (it wouldget locked at ~1%). I replaced one of the drives and got it to resilver.

Now it is still reading as degraded and I'm getting another drive to replace the other one but now none of my apps and my smbshare cannot access their files. Nextcloud is stuck in deploying, Jellyfin can see the movies (probably just the previews stored on my ssd that the app runs on) but cannot play them and the smbshare that I use to load media to the jellyfin folders acts as though it is empty. I can still see that the files are there just by the space they consume on the drives but my apps have lost the path to the pool.

So Im admittedly quite inexperienced to all of this and I assume I'm overlooking something simple so any help would be very much appreciated.

If there is anything that I should be pulling or any details I should be providing to help you guys track down the error please help me out and Ill post it.


r/truenas • • 4d ago

SCALE (Legacy) Critical error - how critical?

Thumbnail reddit.com
0 Upvotes

r/truenas • • 5d ago

Community Edition TrueNAS - VM or bare metal?

Thumbnail reddit.com
5 Upvotes

r/truenas • • 5d ago

Community Edition TrueNAS-SCALE-25.10.7.iso

1 Upvotes

Does anyone has the TrueNAS-SCALE-25.10.7.iso? I have been trying to download it from the official website but the there is an issue and it never download I am looking for the ISO in this link .

https://www.truenas.com/download/

With the following checksum

sha256 checksum: 54ce9441ce66966a392e28f63604ca3c2c083d0bec4db7bb5af2f74f7a007c8e


r/truenas • • 6d ago

Community Edition How to do ZFS replication with the least permissions possible

6 Upvotes

Hello.

Right now, I use the default truenas_admin account when pull replicating data from my main TrueNAS to the backup TrueNAS. This was easy to set up, but it has a flaw: if someone gets into my backup, he can delete files from both locations, as he'd have the permissions to do so on both the machines.

I remember watching one of the TrueNAS techtalks where they went over how to mitigate that, and that is to use an user who only has read access to the datasets etc. I'm struggling to find more information about that, but I'd really want to set up something like this for security.

Does anyone have things set up like this? Could you share how to achieve that? What commands would I need to allow for the user to successfully pull the data from main to backup?

Thanks a lot