No one cares about systemd at this poimt
Where did all the Pöttering hate go?
Difficult to argue with someone who is obviously right when they’ve actually proven they were right.
The first thing forcing an option does, is depriving that option the ability to know what it could achieve on pure merit.
One thing the author probably hasn’t done yet or just doesn’t mention is that you can configure
.container
services with systemd-podman units (often called quadlets), e.g. a simple MariaDB container would look like this:[Unit] Description=MariaDB container [Container] Image=docker.io/mariadb:latest Environment=MYSQL_ROOT_PASSWORD=rootpassword Environment=MYSQL_USER=testuser Environment=MYSQL_PASSWORD=testpassword Environment=MYSQL_DATABASE=testdb [Install] WantedBy=multi-user.target
This is superb, because it means your containers finally feel well-integrated with the rest of the OS and you can use systemctl, journalctl, etc. just like you would with other services.
Personally, I use this as an alternative to Podman/Docker compose and have been very happy with it running rootless containers from Nextcloud, Pufferpanel, Forgejo, Authentik, etc. (ask me for .container files if you need any help, I’m currently working on a small repo with a collection)
That’s neat! There’s so many advanced features of systemd I swear I learn something new every time it comes up.
This is due to systems generators allowing Podman to plug in to that system
Excuse me, peasant crontab enjoyer here, but what?! I could write a (mostly) declarative system without having to learn Nix?! I should probably be learning systemd anyway, it’s looking more and more like the present, let alone the future.
I run a bunch of remote reverse proxies that are functionally identical, but for having a different Cloudflare key and calling for a different static IP
Could I write the entire config to a self hosted Git > pull that repo > change those two variables and have a running machine?
Remote updates have been kicking my ass, I either can’t wrap my head around Screen or it isn’t fit for my need. Being able to pull the new config from Git over Tailscale and then run it would be game changing for me.
Most compiled output of NixOS configuration (besides packages, perhaps) is just systemd units anyway. I found out quickly when learning nix that my lack of systemd prowess was going to cap how well I could understand NixOS.
If you need a half step on your journey, convert your crontab to systemd timers first.
In fact, I do need a half step. Legend, thank you.
TIL. That’s pretty useful!
awesome!
It’s amazing, the gitea container supports this. Autostarts on machine restart, etc.
Yeah, it’s great that Gitea/Forgejo has a copy-paste snippet in the docs, but you can actually use that with pretty much every container.
There is this useful tool to convert containers, podman commands or even compose files to podman-systemd units: https://github.com/containers/podlet
Systemd is fine but I am kinda sad that it’s ubiquity has resulted in increasing dependence on it.
I really like void linux which uses runit and it seems like its getting harder for things to work without systemd. Gnome made some changes fairly recently that increase dependence, I hope devs can build ways for gnome to still work :/
My only real criticism is that using runit makes me feel like systemd could be a lot smaller and more elegant. But using systemd has never caused me any problems as best I’m aware 🤷♂️
I agree. For a init system.
I don’t like the “takeover” of network and home folders. (It feels like a takeover for me)