TrueNAS Scale: Ultimate Home Setup incl. Tailscale

Not related to that method. I have zero issues with my network and am running the bridge as setup by Wendell in the original post.

I am only using a single network interface on the box. fyi

So I’ve been fighting with my Truenas Scale system for a few weeks now. I have it up and running reasonably well as just an SMB share, but now I’m trying to do other things and it is doing my head in.

My network is set up as follows. my PC connects via ethernet to my router, the router connects over wifi to a wireless bridge, which my Truenas machine is connected to via ethernet.

any apps I install (truecharts or official versions) result in both the truenas and the app’s interface disconnecting and lagging like crazy and becoming completely unusable (only tried to install pihole and plex, but it was the same for both).

in order to get the Truenas web interface to be accessible on a static ip, I had to set an alias on the network adapter (192.168.1.106/24 in case that’s important) but with nothing else installed, it’s working pretty well.

I’m using this guide to see if installing new things this way will still screw with the interface, and I have a debian VM up with docker installed. The debian shell is rock solid and the Truenas interface has been solid, so problem solved, right?
Then I tried to add the bridge for the VM to see the truenas storage. I went to update the network interface, and used the indicated ip for the alias (the ip of my truenas machine, not 1.1) and it throws an error saying that 192.168.1.0/24 is already part of an alias. Weird, as i used .1.106, not .1.0.
I thought maybe i was misunderstanding, and put the ip of the debian machine that I set up during installation, .1.107/24 now the error changed to 192.168.1.1/36 is already part of an alias.

I have next to no networking knowledge, and I’m completely stuck here. Could anyone point me in the direction of something to try? Is there something I messed up in the initial install to make the network seem to require an alias to be reachable? maybe the alias should be an ip other than the truenas box?

Let me know what information would be required to try and narrow it down…

Thanks,

Yeah, it was a long shot, since I went over the code, and it did not touch the firewall or anything. Really strange that all VMs lost network access right after this.

that is not a valid subnet. The max is 32 which is a single host.

It is weird, but did you set up the bridge from the CLI or the web interface? If you followed the video, you’d know only the CLI works best for this. (I found that out the hard way before Wendell posted his video or this thread.)

I went to double check it just now, and it only showed /24’s this time, so I’m not sure how I managed to do it last time, or which number it was.

I set up the bridge from the truenas box itself, not the web interface.

Yeah, it’s really strange that aliases need /24, that’s a whole class C subnet and not a specific host. That’s also the way it’s configured on my machine, and it works.

I wonder what the logic behind it is.

Would adding more physical NICs solve my problem, or would the bridging still say the network is already used in an alias? I just don’t know enough about networking to actually understand the problem to know where to start troubleshooting…

I am going to write a new post with the new way to do access to the host from VMs and have native docker. It will be a mix of solutions from @talung and one other person from GitHub.

There is one issue that I’ve yet to solve, and that’s how to have the new bridge (which will have no physical members) deal out IP addresses to all the NICs attached to it.

1 Like

Has anyone successfully setup TrueNAS SCALE → Debian VM → Jellyfin Container WITH Intel Quick Sync?
I can’t get /dev/dri/renderD128 to show on the Debian VM.

I’ll just post a link to the guide I created from the result of the comments on this topic in case anyone is interested.
https://forum.level1techs.com/t/truenas-scale-native-docker-vm-access-to-host-guide/190882/6

5 Likes

Did you figure this out? Running into the same issue: database is locked when using an NFS share. I used

rw,async,noatime,nfsvers=4,rsize=8192,wsize=8192,hard,tcp,timeo=14

Edit: No soltuion so I switched to zvol. It’s not so bad since you can mount them uniquely by partuuid.

Any chance of a ‘dummies guide’ for the bridge part, I’m just so confused and thought id done it right but still no :stuck_out_tongue:
Alternatively if buying a new NIC card would be a super easy thing then guess ill go down that route.
Any help SUPER appreciated

Did you look at the guide I linked a couple of posts up?

Hey Guys,

I have alot of trouble setting up the bridge interface.
When i configure it and add my physical interface to the briding members i keep getting the Error : RuntimeError (“0 found, expecting one”)

It would be amazing if someone could give some insight on whats going wrong here :slight_smile:

Images provided below

Thanks in advance!

Nvm i fixed this, i was creating the interface br0 in the wrong manner.

Stupid me

1 Like

I was able to adapt this guide to run Kubernetes inside a VM (instead of Docker in a VM). I then use the democratic-csi plugin (search it on GitHub, can’t post a link) to automatically provision NFS or iSCSI shares in TrueNAS as persistent volumes for k8s PVCs.

I did this because I couldn’t understand Docker’s documentation for IPv6 functionality. Using the Cilium CNI for k8s, I was able to do NAT-less IPv6, while the native k8s in TrueNAS doesn’t even have IPv6 support.

Thanks @wendell for a helpful writeup. I can verify that these instructions still work as of today (12/22/22). To anyone who is encountering weird errors while following these instructions and wants to start over, it might be because once you have a Portainer stack set up with persistent volumes on nfs as above, and you initialize the stack, your configuration state will be written to your nfs mount point. So, configuration values of a previous stack initialization will remain even after you have destroyed the containers and the stack.

So if you run into weird errors and starting from scratch is the only way to go, remember to clear (manually or otherwise) your configs from /nfs/nextcloud or wherever. Otherwise, you might keep starting over but still ending up in your old configuration because configuration state for nextcloud is preserved on the persistent nfs volume (which was the point of the whole setup).

In my case, the last step of initialization of nextcloud using a browser silently failed. It turned out that it only partially wrote the configuration values to config.php and the databases. These broken values persisted across stack instances. So when I tried initialization again after deleting and recreating the stack, it kept giving me errors. The solution was to delete the nextcloud directory in /nfs to force the configuration to be rewritten. Depending on where you store your mysql database, you might have to clear those manually too.

Just reporting that I just finished the setup of this and for me in TrueNAS-SCALE-22.12.0 the web GUI for setting up a bridge now works fine. So I didn’t have to set it up on through console.

However, I do have a permissions issue with a qbittorrent container. It wants to take the ownership of a subdir and then write to that. It is denied.

Brought to you by linuxserver.io
User uid: 1000
User gid: 1000
chown: changing ownership of ‘/config’: Operation not permitted
mkdir: cannot create directory ‘/config/qBittorrent’: Permission denied
cp: cannot create regular file ‘/config/qBittorrent/qBittorrent.conf’: No such file or directory
chown: changing ownership of ‘/config’: Operation not permitted
**** Permissions could not be set. This is probably because your volume mounts are remote or read-only. ****
**** The app may not work properly and we will not provide support for it. ****
[custom-init] No custom files found, skipping…
Could not create required directory ‘/config/.cache/qBittorrent’

Worth noting that before that the container creates its main directories just fine.
Any idea how to fix this permission issue without having the share wide open? (It is working fine then its open).

I had this issue where the NFS share would not persist after boot even when it is specified in /etc/fstab. I confirm after reboot by doing ‘df -h’ . I solved it by
‘systemctl enable systemd-networkd-wait-online.service’ . It seems if the system doesn’t wait on the network to reboot then the share doesn’t work properly

I’m trying to install Debian in Truenas but I’m getting a installation loop. so I thought i had to remove the “cd-rom”. after I did, it went to the shell, I’m not able to boot from the virtual HD. I tried it several times and still no luck. what gives?

I got stuck in the same place. A YouTube video cleared it up for me. I can’t post a link as I’m new, but it’s this one: GSNfo9ooanQ

Basically, the Debian VM doesn’t know where the correct EFI file is and can’t boot/get to GRUB, so it uses the CD-ROM and the install starts again.

The video shows how to jump out of the shell and copy the EFI file into the correct directory. Then the VM should work. Good luck!

1 Like