I made a starter kit for dockerizing Traefik, Plex , *darr, and more! reddit / selfhosted ---------------------------------------------------------------------- Lemimouth · 2023-12-27 07:07 Having all apps in the same compose file is a very, very bad practice and should be avoided. If your guide is aimed at beginners, at least teach them to start right. Also : * The *docker-compose* command is **deprecated** and is replaced by *docker compose* * As specified in Docker documentation, the *docker-compose.yml* file should be named *compose.yaml* (yes docker-compose.yml works and will probably forever, but it's kept for compatibility purpose) * Your summary is wrong, these services are not **developed** by linuxserver. They are building and maintaining community images for popular services ---------------------------------------------------------------------- stardarrkit · 2023-12-27 08:07 This is actually great feedback. I am implementing these changes now. Adding two networks web/internal and splitting the services accordingly. I like this better, it makes the env vars less ambiguous, and I can make individual .env.examples for each service. The docs can step through each service one by one this way, and its easier to omit Nextcloud/Fireshare/whatever this way. More intuitive to add new services too. Any other suggestions while I'm at it? Other services I should include? ---------------------------------------------------------------------- revereddesecration · 2023-12-27 11:02 Have a read of this: https://docs.docker.com/compose/multiple-compose- files/extends/ ---------------------------------------------------------------------- stardarrkit · 2023-12-27 11:58 I'm not sure which parts I can extend here. I can extend the restart policy and make a common config for web/internal, but I would still have to explicitly define the networks used in each file anyway. I feel like that complicates things, and explicitly defining things in each service is better for understanding what's going on. If you have a specific recommendation I'd like to hear it but I don't see what problem this should be solving for me. ---------------------------------------------------------------------- revereddesecration · 2023-12-27 13:59 You move the individual service stacks into their own files, then you bring them back into a single file with extends in order to start and stop them all in the one command ---------------------------------------------------------------------- Ic3berg · 2023-12-27 14:30 Congrats, looks awesome! Quick question, ive been using NPM instead of traefik cause it seemed more noob friendly. Is that true in your experience? Also, as your stack is using Cloudflare, in my case, I went ahead and downloaded the “Full” Certificate for E2E encryption. That might be something cool to add later on! ---------------------------------------------------------------------- Ic3berg · 2023-12-27 14:32 Just to add, please move away from NZBget to Sabnzb, as Sabnzb is currently maintained. ---------------------------------------------------------------------- stardarrkit · 2023-12-27 19:19 >Sabnzb I'll check this out, thanks! I'm sticking with Traefik since it's pretty widely used. I can't offer much insight on NPM other than it seems like you'd have to customize a bunch of things that are already built into Traefik. I could be wrong though. ---------------------------------------------------------------------- stardarrkit · 2023-12-27 19:20 You're right, I forgot to add the part about seeing your Encryption to Full on CF. I'll update the doce. ---------------------------------------------------------------------- stardarrkit · 2023-12-27 20:03 I see what you're saying. Seems like your objective is a "one click" install. I kind of went back and forth on this. I like this ala carte approach, where users have to explicitly spin up individual services and they restart unless stopped. I do see some value in a "run everything" command. But I'm not sure if that should be through extends or a shell script. Or if that should be a part of this repo at all. Maybe the docs have a simple script that searches for folders with both a .env and a compose.yaml, indicating that they have been configured. This way you won't accidently try to start services you didn't configure yet. There might be a better way. ---------------------------------------------------------------------- revereddesecration · 2023-12-28 00:25 Oh, I just assumed that was your intention from the start since another commenter suggested you split it up into multiple compose files. ---------------------------------------------------------------------- stardarrkit · 2023-12-28 07:33 You're not wrong. But now I am seeing benefits of this ala carte setup that I feel outweigh the single command startup. And since that is the case, I *now* think adding a central compose file that extends everything would be more confusing and error prone, as opposed to just configuring each service in their own subfolder. I think even providing an shell script might be a can of worms. People need to know how to update an individual service and things like that come with just doing it all manually and getting comfortable with docker. I'm absolutely open to suggestions though. I could be completely wrong and there might be a best practice for this already. I appreciate the feedback! ---------------------------------------------------------------------- revereddesecration · 2023-12-28 12:34 I like your reasoning about it.