Live data from Hacker News

Quadlets might make me finally stop using docker-compose

major.io

181–190 of 212 posts

Re: Quadlets might make me finally stop using docker-compose

#181

Earlier quoted context omitted.

Yeah, she's a big girl, but having one flat file and one systemd process is infinitely better than juggling 85 of each. I have the systemd process start after docker.service, and most of my containers have a "depends_on" argument so they don't all try to boot at once. All of the containers also push logging to a Splunk instance, which adds 9 lines per container , which increases the file by 765 lines.

you had me until you said splunk and now I am horrified to know the true topology of your homelab

Have you used splunk's free tier? It's easy to setup, 500mb/day ingest free, and it's pretty easy to use (easier than grafana imho.) If they're using it professionally then why not at home?

Re: Quadlets might make me finally stop using docker-compose

#182
post #142

I don't see how this is anything like compose. With quadlets you have to create a file for each container and deal with creating volumes and so on. Whereas with Docker it's one file, one command and you're done, you don't have to deal with anything else.

Yeah, I see Docker Compose as a development environment setup aid. This seems like a way to set up a system.

But if it's a stepping stone to emulating Docker Swarm, that'd be something.

Re: Quadlets might make me finally stop using docker-compose

#183

Actually, I believe "podman generate kube" is even better: https://www.redhat.com/sysadmin/kubernetes-workloads-podman-... You can run your docker-compose file, then run "podman generate kube" and you will get a Kubernates yaml file. Then you can run: $ escaped=$(system-escape ~/guestbook.yaml) $ systemctl --user start podman-kube@$escaped.service And you can enable it to start on boot. It will read the yaml file and…

Or you just run the kubelet(with systemd) and drop your manifests I to /etc/kubernetes/manifests

Nothing can kube better than the kubelet! The new sidecar support for init containers can be used today. Every other abstraction is playing catch up

Re: Quadlets might make me finally stop using docker-compose

#184

Earlier quoted context omitted.

Yeah, she's a big girl, but having one flat file and one systemd process is infinitely better than juggling 85 of each. I have the systemd process start after docker.service, and most of my containers have a "depends_on" argument so they don't all try to boot at once. All of the containers also push logging to a Splunk instance, which adds 9 lines per container , which increases the file by 765 lines.

I’ve got a similar probably-too-large docker-compose on my home server. If those 9 lines are identical you can probably simplify quite a bit with extension fields and yaml anchors. [0] You would put logging: *default-logging As a single line under each container, and then define it elsewhere. The example on the docs page is for logging, but you can also simplify other fields too, like “depends on”. [0] https://docs.d…

Oh my god, why didn't I look into that, that's so much better. Thank you!

Re: Quadlets might make me finally stop using docker-compose

#185

Earlier quoted context omitted.

Yeah, she's a big girl, but having one flat file and one systemd process is infinitely better than juggling 85 of each. I have the systemd process start after docker.service, and most of my containers have a "depends_on" argument so they don't all try to boot at once. All of the containers also push logging to a Splunk instance, which adds 9 lines per container , which increases the file by 765 lines.

you had me until you said splunk and now I am horrified to know the true topology of your homelab

Heh, Splunk is way overkill for what I need, but they have a free 10GB Dev license that you have to renew every 6 months, and building a custom COVID dashboard during the first few months of 2020 kept me sane. Here's my home/lab "prod":

Homeserver: Ryzen 3950x, 64GB RAM, Ubuntu 22.04 DNS: 1 RPi 3B+ and 1 RPi 400 running pihole and Unbound Edge router/firewall: Palo Alto PA-440 Switch: Cisco 2960 24-port w/PoE AP: Aruba AP-345 in Instant mode

Re: Quadlets might make me finally stop using docker-compose

#186

Earlier quoted context omitted.

For anything other than a hello world type project a compose file will fall over kinda quick. I would much prefer to (ahem) compose smaller things together and systemd is great for that.

Lolol have been running compose in dev & prod for 7 years - still the best tool around.

That might work for whatever you are doing, but the truth is that root-ful containers are not appropriate for a lot of applications, and docker as a layer to your container runtime is rough sometimes. I don't think docker wants to continue to develop this anyway - they have had enough problems trying to be profitable so instead it is time to focus on docker desktop and charging for docker hub image hosting.

I feel like we are kind of in this weird limbo where I know I need to move to a podman focused stack, but the tooling just isn't there yet. I guess that is what makes Quadlets interesting, but idk if a single tool will really emerge. There is also podman-compose floating around. I still feel like I should hold of on some stuff until a winner emerges. So at home I'm still on docker with compose files. Although I will be moving to kubernetes for... reasons.

Re: Quadlets might make me finally stop using docker-compose

#187

Earlier quoted context omitted.

For my home server, I have a flat 2507 line docker-compose file that automatically configures and boots all of my 85 containers. I still have some complexity: .env files in /opt/ /, a systemd process that automatically runs docker-compose -f / /docker-compose.yaml -d on boot, and it's only a little irritating to have use absolute paths for everything instead of relative. But, after having to update all of my services…

What do you need 85 containers for in a home lab

For fun, pretty much. 20 of them are Matrix related (synapse/dendrite, bridges, and bots), 16 for media services (Plex, audiobookshelf, etc), stuff for management/monitoring, stuff for Fediverse, etc.

Re: Quadlets might make me finally stop using docker-compose

#188
post #138

Earlier quoted context omitted.

For anything other than a hello world type project a compose file will fall over kinda quick. I would much prefer to (ahem) compose smaller things together and systemd is great for that.

I've been kinda partial to helm charts (on a k8s cluster). Standing up services is not awful. Have you used helm or similar? What do you think of these kind of tools?

I don't manage one large compose file, but helm charts are where my home stuff is headed. Mostly for ingress controller functionality - it's the reverse proxy configuration that will get you.

Re: Quadlets might make me finally stop using docker-compose

#189

Earlier quoted context omitted.

I believe this is due to the linuxserver.io images actually being customized specifically for usage with docker. For images intended for rootless deployments e.g. podman, take a look at the onedr0p container images, https://github.com/onedr0p/containers

Thank it looks great ! and yes, I believe it is the policy of linuxserver.io not to test or support officially podman. I have been trusting the plan but I notice that after 10 years of container industry standard etc. we have to search for podman friendly images to enjoy integration with the common Linux service manager... Now if container-based Linux distributions are the future I'm starting to wonder if we are not…

Fun fact, OpenSUSE actually already does that for some common server software (LDAP, dovecot, etc); they're quadlet/systemd unit files packaged up as RPMs though, I don't think they actually include the container image.

Re: Quadlets might make me finally stop using docker-compose

#190
post #171
post #142

Earlier quoted context omitted.

Yeah, I see Docker Compose as a development environment setup aid. This seems like a way to set up a system.

So is Podman, if you are to believe Red Hat's marketing on it.

I actually use Podman and write Kube config yaml instead of docker compose yaml. I do like it better. It's a bit more polished.
Post reply on HN