Do you configure your servarr docker containers from one docker-compose file, or individual ones?
I followed trash guides to set everything up blindly and my set up is working well. But, I feel like having jellyfin in the same docker compose as my "arr" services isn't good. So, I'd be curious to see if I should split things up. I am even wondering if i should let portainer manage everything.
I created them in the same compose but will probably split them up soon. There's no point in having them in the same file: *arr services and jacket interact with each other, but Jellyfin is its own thing and I often want/need to restart it alone. They're best as 2 separate stacks imo.
You can interact with a single container if you need to, not just the whole compose group. docker compose restart jellyfin works for your example, and "restart" can be swapped for stop or start as needed.
Splitting compose files can be a good idea, but it isn't always necessary.
if these are the only services one is self hosting, I can see that.
But I have around a dozen stacks atm and I never came across a situation that I wanted to trigger an *arr stack restart with Jellyfin's. They're pretty much unrelated and independent services from an operational view.
I use individual files with some like-services grouped together, but you interface with specific services withing a compose file by just specifying the name at the end o the command
i had arr in one stack and media in another.
Now in my kubernetes cluster everything is separated, but arr + torrent is in vpn and automatically uses the vpn-sidecar. And media (jellyfin + jellyseer) is separate.
I have all of mine in their respective directories and have a master script that I run to bring them all up or take them down. Easier to exclude services from start up if I end up not needing them or something.
Single hand-crafted artisan organic GMO-free compose file for services that egress through regional VPNs and are exposed internally through Tailscale; *arr, transmisson, piped, etc.
Plex, iSponsorBlock, ArchiveBox have their own compose files since I keep them close to upstream. This way when the inevitable breaks they're easier to troubleshoot.
The only reason you should have secondary services there is if main service is using them exclusively.
Having a single compose file for multiple unrelated services sounds like a nightmare to stop, start and debug if one of your containers is acting weird.
Say for example you have something that needs a mysql server and you have no other use for it beyond that container, then it should go in there with the main seevice.
But then you eventually add another service which also needs a mysql backend. Do you add another mysql instance for that specific service? Or you could separate your existing one into its own compose file and just connect the two separate apps to the single instance.
Having a single compose file for multiple unrelated services sounds like a nightmare to stop, start and debug if one of your containers is acting weird.
You can do "docker compose (servive) start/stop/restart" and so on
A mix - my *arrs, Plex, etc run in my "media" stack's compose, but I have a handful of other stacks ("managing", "monitoring", "misc", "games", etc) for containers that aren't related.
This also helps keep networks separate so the containers are only talking to the ones I want them to
@AbsurdityAccelerator All one file. Makes reverse proxy easy and most don’t need any open ports. Probably somewhere around 40. Oh two in their separate files cause I compile them from source.
So your name resolving them over multiple networks. Seems like a headache.
By exposed ports I mean the host only has the reverse proxy with a port mapping. All other conteiners have no port mapping.
No Docker, because overhead and depending on a semi-closed ecosystem isn't cool. Also systemd is perfectly capable of providing all the security docker does by itself.