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.
A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.
Rules:
Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.
No spam posting.
Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it’s not obvious why your post topic revolves around selfhosting, please include details to make it clear.
Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.
Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).
No trolling.
Resources:
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
deleted by creator
Use to do it individually. Now I do it all from one Master compose.
I used to try to run arr stack together, but separately from jellyfin and transmission because I use them not only with arr things
But now I’m using nixos, and having the same dilemma with .nix files
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
I liked having them all in the same file - easier to keep everything in sync. I also had “dependency” links to keep things starting in order.
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.
I group them by network.
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.
Same.
Jellyfin, Audiobookshelf, kavita = Media stack
Arr suite, Vpn, BitTorrent = Pirate stack
Edit:
CodeServer, git, esphome, home assistant = Code Stack
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.
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.
Yes splitting them up is much better.
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.
Here’s the way I have mine setup. https://github.com/DanTheMinotaur/HomeHost/tree/main/apps
I use an ansible job to deploy and run them.
You can do “docker compose (servive) start/stop/restart” and so on
Same. Never felt the need to do them separately.
Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:
3 acronyms in this thread; the most compressed thread commented on today has 13 acronyms.
[Thread #322 for this sub, first seen 1st Dec 2023, 17:35] [FAQ] [Full list] [Contact] [Source code]
@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.
I run multiple compose files with internal networks. No exposed ports.
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.
You can just refer to them by the name you give it in the services block, it’s actually really simple. No port mappings at all.
https://nginxproxymanager.com/advanced-config/#best-practice-use-a-docker-network
ive got 6 containers running from a single file no problem, some with weirdly attached volumes, some with ports some host-networked.
i actually added portainer After i had everything running. it was almost too easy.
just to add; im no expert, but i dont see any benefit to having their configs defined in separate files other than maybe portability.
Yup. Same way I do it.