App Networking - Jellyfin, Immich, HomeAssistant, etc

Time for post number 2!

I am going through the app config process and am coming from running Docker Compose on SBCs, so there’s a bit of a learning curve. Is there a way that I’m simply not seeing in the documentation (both for scale and the jellyfin app specifically) where I can configure it’s network settings? In my compose, I used macvlan to give it an L2 interface with MAC and static IP, I was hoping to do something similar in TrueNAS so that I wouldn’t have to go and adjust all of my proxies, firewall rules, etc. for accessing Jellyfin.

I have created a VLAN interface in the Networking section, however, I don’t see any way to bind or associate that virtual interface specifically to the app. In the app settings, there is a checkbox option for “Host” Network, however, when I check it, there’s no option to associate a specific interface to the app, so it’s unclear which of the host’s interfaces it’s going to bind to.

If I want/need to maintain L2 management of the app network configurations, am I better off just creating a Linux VM and leveraging compose to manage the containers/apps?

Install dockge, drop your previous compose file in there and you should be good (after adjusting the mountpoints)

You can’t do much custom network tuning with the current ui, but you can do anything manually in a compose file.

Forgive my ignorance… but is this the only way to install Dockge, via installing jailmaker, making a docker jail, then installing Dockge inside of that docker jail?

This is the way… with Cobia or Dragonfish.
It seems you’re using Electric Eel, and you really shouldn’t migrate into a beta version.

Either way, you need to better describe your system, what you’ve done and what you want to achieve.
If you manage your SBC from the command line, you should be able to SSH into Electric Eel and reproduce your setup with essentially the same commands. If you want something more graphical, install Portainer and create your macvlan from its GUI. But it may be wiser to wait for Electric Eel to go out of beta.

Are you using Electric Eel?

There is currently no way to use Macvlan networking in the default apps.

You can use macvlan in custom apps, ie docker compose, which you can setup manually on the command line just like on the SBC, or using Dockge/Portainer

The VLAN network interface type is not a MAC-VLAN

RC.1 is coming soon, and will have a rudimentary custom app GUI too.

I’m running Dragonfish (24.04).

Currently, I’m running 2x Adguard Home DNS resolvers, Jellyfin, Immich, DuckDNS, HomeAssistant, Cloudlfared, Watchtower, Uptime-Kuma, Prometheus and Grafana in compose. I have 10 top level macvlna networks with the bridge being the 11th. I was going to more or less try to 1:1 this on the TrueNAS box since it has substantially more resources.

While only the 2 DNS servers NEED to have their own static IPs with VLAN tags since port forwarding that isn’t really feasible, making all of the rest match up with my existing compose yml would make life easier since I wouldn’t have to adjust the ACLs, proxies, update all of the devices interfacing with them, etc.

I do manage the SBCs from the CLI, so I may opt to just wait for Electric Eel. I wasn’t sure if SSHing into the OS, installing Docker compose, etc would be ideal, nor was I sure how to reference it’s own share on itself within the CLI.

Dragonfish doesn’t use Docker. Electric Eel does.

Either wait for Electric Eel or use a Sandbox/Jail with Docker on Dragonfish.

As demonstrated in the above video, that can be migrated to native docker on Electric Eel pretty easily.

Thanks for the invaluable input guys!

Well… I’ve decided that since I’m not a patient man, this NAS isn’t yet in “production”… though as my home NAS, that’s a loose term and because I want to do the cut over, I’m going to just try to migrate over to Electric Eel Beta. Worse case, I format and redeploy the OS to the NVMe it’s on.

bill-oreilly-well-do-it-live

1 Like

I suspect this is an ignorance within Dockge thing… but I figured I’d ask.

In the Dockge app, I have mounted “/mnt/Data Pool/jellyfin” from the TrueNAS host to “/mnt” within the application. When I use the console in the app, I can confirm the contents are visible (AKA Dockge has access to the host path)

Then within Dockge, I have the “/mnt” mapped to the the volumes within the container:
- /mnt/Videos/Movies:/movies
- /mnt/Videos/TV:/tv
- /mnt/Videos/Workouts/:/workouts
- /mnt/jellyfin/Music:/music
image

However, when I bash into the container, or access the Jellyfin UI, it shows that all of the directories are empty.

Just in case I was missing a simple typo, I copy/pasta’d the paths from the Dockge console and pasted them into the compose file so that they’d be perfect, including case sensitivity, however, still no joy.

I’m fairly certain this is something simple that I’m missing due to inception levels of virtualization/containerization… but 1 + 2 is not equaling 3 :rofl:

Are you using Dockge as an app on Electric Eel or in a Sandbox?

On Electric Eel, you don’t need to mount directories “into dockge” instead they are directly available for use in the compose since the docker engine is running directly on the host.

1 Like

I upgraded to the Beta EE build and am running dockge via the app.

Thanks! That’s the piece I was missing and doing wrong. I thought I had to provide a mountpoint to the dockge app and then into the container. Upon updating the YAML to simply point to the host directory it worked like a charm!