Core to Scale migration; Docker vs. Jails

I’m a very long time Freenas/Truenas Core user, but it sounds like migrating to Scale (community edition with Fangtooth) is all but inevitable.

Using plugins was a huge mistake that I’ve mostly corrected by making manual jails for my apps (NextCloud is the exception). I’ve tried to use good practice by mounting config/data directories from their own datasets for each app, theoretically making migrating easier.

Most of my apps communicate with each other- Plex talks to Sonarr and Radarr in both directions for example. This requires unique IP addresses to set up. Or, maybe just unique ports?

My understanding is that Docker does not provide unique IP addresses and just doesn’t function the same as jails. With Fangtooth, they’re talking about adding Incus/LXC containers which sounds a lot like the jails I’m using now.

So the question is: when I migrate to Scale, what is my best option for recreating my setup without using full VM’s? If I use Docker, will the apps still be able to communicate without unique IP’s? Can I have NextCloud accessible on the internet via port forwarding? Or, should I just wait for Fangtooth and use Incus/LXC containers/jails? What would be the pro/con’s of Docker vs. those containers if only using them for straightforward pkg apps?

Thanks!

Do you care if the apps are all running on the host’s IP? I have the arr stack + sab + qbit all on my Scale host’s IP, just bound in docker to ports of my choosing. For the inter-app communication, just use ip:port (and username/passwd or apikey for auth).

The iX catalog (official/community) apps are all set to use the host’s IP. Can do the same if you want to use your own docker compose.

From what I’ve read, Docker is a VM. Fair enough that apps could be on the same IP just with different ports. But wouldn’t jails be the more efficient way to do things?

It’s the other way arouond, lxc are more like vms, where you’re running a whole distro e.g. debian bookworm and can use apt to install additional packages, including docker and then run docker on a separate ip from your host.

Hmmm, yeah, that’s kind of what I’m seeing as I play around with a Fangtooth nightly. I thought on the video podcast reveal they said you could make jails/containers that are dependent on the host OS though.

So it sounds like the “apps” tab (which I understand uses Docker) is my lightest weight, most efficient way to use apps? It makes me a little nervous based upon my “plugins” experience from Freenas. It became impossible to update apps if the original plugin got abandoned, which is why I’ve remade everything into manual jails with full control of updates and everything else.

All i read here is that it is wise to wait a bit longer to move from Core to Scale. Not having dedicated IP’s for each app (now jail) just complicates things. Please let there be a mercyful soul at IX that eventually decides continuing Core is a good thing to do…

This is what I’m trying to work through right now. I’m used to different IP’s, but perhaps different ports are sufficient. However, they said on the podcast that Incus/LXC containers can have different IP’s. My issue though is that they appear more like full VM’s than jails.

So I decided to try out 24.10. I added Plex and managed to figure out the storage scheme. Plex is working great. However, every other app I try to add now gets stuck in deploying/stopped.

Ok, it seems I needed to chown apps:apps the datasets I made.