Both of my TrueNAS servers are currently on Dragonfish, with a good number of TrueCharts apps. Since those apps all run services I still want to use, I’ll need to do something with them in order to be able to upgrade the servers.
And of course there are options. I can follow the TrueCharts path, use their tool to set up a Talos installation, and migrate my apps there. I can set up one or more Docker hosts on my Proxmox server(s) and run the apps there. I can embrace the native Docker in TrueNAS. Distinctly off the list is “use iX’ apps” for anything significant; I have no interest at all in getting burned again when they throw out yet another apps ecosystem.
The point of this thread isn’t to ask for input among these options. I’m specifically not asking for, or interested in, anyone’s thoughts about TrueCharts at this point. But I’d like to dig a bit deeper into the “embrace the native Docker” option.
I’ve played around a little with the implementation in EE. I set up Traefik, generally following Techno Tim’s method. Set up the relevant config files on the pool (being sure to chmod 600 acme.json), paste in the YAML, docker network create proxy at the shell, and away it goes, getting a cert and everything. And yes, the Docker proxy network survives a reboot. Great, let’s try another one. Paste in the YAML for Homepage, along with the relevant Traefik labels, and it seems to work just fine–the hostname routes me to the correct app, TLS works, it picks up Traefik with its own labels. Great. Another one (Stirling PDF) works as well. For any of these, I’m replacing ./ paths for volumes with complete paths to a directory in my pool.
So, well and good. Some configurations will naturally be more complex (VPN for Qbittorrent with killswitch, for example), but all in all it seems pretty straightforward. Which leaves a few questions:
Should I be considering some other way of managing the native Docker implementation?
I’ve used Dockge on other systems, and it’s a bit more featureful than the built-in mechanisms in EE, but I don’t see that it does anything (that I need) that the built-in system doesn’t do.
If I continue as I’ve been doing in testing, is that likely to continue to work in Fangtooth and beyond?
Thoughts on these, or other thoughts or ideas on the best way to use the built-in Docker system?
What are your reasons for choosing your own path (based on “native Docker”) over GUI-supported custom apps with yaml?
You only mention “getting burned again when they throw out yet another apps ecosystem” but if that were to happen, isn’t it reasonable to expect that your “native Docker”-option would also fail?
I can think of reasons, but you don’t mention any, other than the aforementioned one.
You’re right–I think my concern is more accurately stated as their getting rid of (or simply abandoning) the app catalog. I’m not super-concerned that Docker itself will go away, though given the fate of Kubernetes I wouldn’t put it past them. But in that case I expect I’d be able to move the app data/config somewhere else fairly easily.
I’ll propably just switch from my scale-jail to an lxc container managed by portainer. The jail is what i’m used to now and i find the current apps implementation is lacking some features that should be exposed in the gui, like adding containers to other networks, like the proxy one for traefik. I know you can install portainer directly on scale and manage it that way, but i also like it when my apps run on a different ip then my truenas.
Presumably if I do that, the app/project in question doesn’t show up in the TrueNAS GUI?
Kind of makes sense. And having a compose project directory gives a simple target to back up–or even commit to a Git repo (IAC seems to be the buzzword of the day).
What would you recommend as a method to install Dockge under EE that would be reasonably future-proof? I guess it could be its own custom compose app, and then point it to a suitable directory (dataset, maybe?) for the remaining stacks/projects?
Watched the video, and it all looks pretty straightforward. So the Dockge app can see all your storage by default? Probably not great in terms of security, but definitely makes things convenient.
I think this just clicked. I’d had in my mind that any other apps/stacks/containers would be running inside Dockge somehow, but it’s just clicked that that isn’t the case; Dockge is just managing the Docker instance that’s already on the system.
Other than the dozen or so official apps, the catalog is user maintained. Take that as you will.
Just use your own compose through the custom yaml UI, through dockge/portainer, jail or VM. That way you can easily move everything somewhere if needed.
I’m still stranded in pre-EE version and I’m just trying to find out how people are handing the TrueCharts sunsetting, and this thread has been very useful. I still have a couple of doubts that’d love if you can help me out with:
Dockge is preferred over Portainer?
Jailmaker & sandboxes are no more, we’re going to use native docker from Truenas distribution?
Dockge will just get your docker-compose files and run them, that’s the main use case for Dockge?
Among those compose files will be included Traefik, which will dynamically configure routes reading the labels from other compose files?
Truenas Catalogue Apps can be used in combination with the apps running by Dockge and be integrated also with Dockge’s Traefik?
Personal preference. I like that Dockge keeps the entire compose stack on disk where it’s easily accessible.
Jailmaker and sandboxes are still an option, and may still be used for other purposes, but are not necessary to run Docker in EE.
Dockge will let you paste in a compose file, .env, and other settings. The TrueNAS UI will let you paste in a compose file, but not edit .env or some of the other settings, and won’t save the compose file to disk.
It’s compose. It can include whatever compose file you want, and yes, that can include Traefik, and yes, it can read labels from other compose files–both with Dockge and through the TrueNAS UI itself.
Correct.
No. At least, not by way of labels AFAIK (so Lars and I have different understandings here). But certainly you can manually edit Traefik’s config to do this.
I haven’t played around with the buildin apps, but if i remember correctly iX added support for labels a while back, so it should be possible to add traefik labels to iX apps. The Problem from my understanding right now is that you can’t add additional networks, like the required proxy network from techno tim’s traefik tutorial. But if one would install portainer and edit the buildin app via portainer gui, it should be possible to add other networks to iX apps.
But again, i haven’t tried it myself. So i may be completely wrong.