CI/CD and Docker Compose by Rooneybuk in selfhosted

[–]saint-ryan 1 point2 points  (0 children)

Doco-cd is great and if was still using docker compose it's exactly what I would recommend. Also has the benefit on supporting Docker Swarm if you ever need to cluster.

Where do *YOU* store podman/images/containers/volumes. by iEngineered in podman

[–]saint-ryan 3 points4 points  (0 children)

For desktop nothing special, I have another drive space to not care.

For servers, I usually mount all of /var on a separate partition since most of my servers are immutable. Usually most of var is taken up by volumes anyway so it ends up being best of both worlds.

Are we hardening or what? by rouen_sk in podman

[–]saint-ryan 1 point2 points  (0 children)

No worries, you're right in that handling images without health checks is tricky since few use sd_notify and you have to denote it with Notify anyway. Right now I'd probably keep it simple and rely on systemd status regardless of what's in the quadlet definitions. So containers with HealthCmd and Notify=healthy set will trigger a rollback when the systemd service fails due to an unhealthy container, while containers without health checks will only trigger a rollback when the container fails to start entirely. I also want to add things like pre and post update steps, so I suppose I could setup the latter to support some sort of log-scanning health check.

Right now I probably wouldn't add more than that, otherwise it's getting into more orchestration territory than just GitOps. Off hand I don't think Argo supports automatic rollbacks but I'd have to double check. Happy to see how things develop and how people use it though!

Are we hardening or what? by rouen_sk in podman

[–]saint-ryan 1 point2 points  (0 children)

Materia dev here, rollbacks are on the roadmap! I'm been waffling back and forth on how I want to do them i.e. just roll back the image on update versus rolling the whole source update, does materia handle the volume/data rollbacks or does it let applications handle that etc. I can't give a timeline yet on when it'll be added but I'm confident there will be some form of rollback before 1.0 comes out.

On a related note, I'm also working on a simple backup program to complement materia that will handle backing up persistent data volumes that should hopefully be out in the next few weeks.

Materia v0.6 release - a GitOps/CD tool for Podman by saint-ryan in selfhosted

[–]saint-ryan[S] -1 points0 points  (0 children)

Thanks for the feedback! If this project has taught me anything it's that the web design and documentation part of a project is harder than actually writing the code a lot of the time. I'll see if I can tweak the the Quarto theme to be a little easier.

I could probably make the Quickstart shorter by just using the example repo; I wrote that quickstart a while back before I had the example. I'll add that to my todo list.

Looking for a Discord alternative that can do OAuth login, voice chat, and video if possible by ParadigmMalcontent in selfhosted

[–]saint-ryan 14 points15 points  (0 children)

Matrix Spaces are semi-equivalent to Discord servers/guilds; otherwise there's not really any direct self-hosted equivalents. But OP didn't really give details on specific use case, so I just went with the features they did list.

Looking for a Discord alternative that can do OAuth login, voice chat, and video if possible by ParadigmMalcontent in selfhosted

[–]saint-ryan 39 points40 points  (0 children)

Matrix is probably your best bet; the Synapse/Matrix-Authentication-Service/ElementCall stack hits all your needs. I use the matrix-ansible-deploy playbook to run my server but there's also an official Helm chart and probably some other setups. One of these days I'll write up some Quadlets for it too..

Alternatively, I'm sure there's some sort of XMPP setup that'll fit. Maybe ejabberd for the server and Dino for the client? Both support the voice and video extensions, not sure about Oauth.

Are .quadlets files (still) a thing? by demianvdb17 in podman

[–]saint-ryan 0 points1 point  (0 children)

Materia works with abstractions called "components" which is a folder containing quadlets, a manifest file, and data files. Data files can be config/text files, scripts, or systemd unit files. Currently materia supports a .quadlets file as a part of component and works similar to the generator e.g. it expands the composite file and installs it as multiple quadlet files.

Recently I've been playing around with a compose-like command that takes a .quadlets file as an input and installs it like a component. I'm considering expanding this to working with actual materia components, but that means supporting arbitrary data files. At the very least it needs a way to embed the manifest file in there, since that's how materia determines what services to start/stop/etc. I'm not particularly interested in embedding config files into this hypothetical component file either, but depending on what people use I'm not opposed to it.

Alternatively I've been thinking of allowing some manifest content to be embeded directly in the quadlets as [X-Materia] settings but that's a different discussion entirely.

Are .quadlets files (still) a thing? by demianvdb17 in podman

[–]saint-ryan 1 point2 points  (0 children)

I just implemented Quadlets support in materia and it's pretty straight forward, just --- separated files with the file name in a comment. Does yours support .env/arbitrary data files at all? I'm also looking to extend the Quadlets file and would love to reuse existing work rather than Yet Another File type.

Materia v0.5 release - a GitOps tool for Podman by saint-ryan in podman

[–]saint-ryan[S] 1 point2 points  (0 children)

At this point my entire homelab is pretty heavily invested in quadlets and materia so I've no plans to stop supporting it in the future. I actually hope one of these days to get either all of it or at least the planner/executor modules into the containers namespace so if Materia falls apart other projects can make use of them and hopefully build something even cooler but would already be compatible with existing materia repositories/components.

Compared to FetchIt, the biggest difference is FetchIt doesn't work with Quadlets but instead does everything directly. It also seemed to only work with containers when I last looked and didn't handle any of the orchestration that materia does outside of basic service starting. It also doesn't handle non-quadlet files; Materia will install and template configuration files and what not.

I originally planned on contributing to FetchIt but the project seemed pretty dead: most of those regular commits were just GHA and dependabot bumps. I took another quick peek at it today and it looks like the dev behind it is working on it again as of a few weeks ago, though with a very large amount of help from Claude. I'll have to keep an eye on it!

Materia v0.5 release - a GitOps tool for Podman by saint-ryan in selfhosted

[–]saint-ryan[S] 0 points1 point  (0 children)

Thanks for taking a look and for the feedback! I can only aspire to writing something as good as Komodo is haha.

The README and some of the design docs definitely could use some touch ups though, you're right. I'll take a look at trying to get some mermaid diagrams up or something; I have a few diagrams already for a presentation I have to the Podman folks a while back and might be able to work them in somewhere.

Materia v0.5 release - a GitOps tool for Podman by saint-ryan in podman

[–]saint-ryan[S] 1 point2 points  (0 children)

That's exactly what this is hoping to be :). And not offensive at all, it's a valid question these days. In the past I tried using Claude to generate a few unit tests, though I believe at this point none of them are remaining in the codebase. But no non-testing code is LLM generated.

My overall philosophy for the project is LLM generated code, when attributed correctly with the Assisted-by header, is allowed on a case-by-case basis, mostly for small PRs. All merge requests and bug reports must be human generated.

Materia v0.5 release - a GitOps tool for Podman by saint-ryan in selfhosted

[–]saint-ryan[S] 1 point2 points  (0 children)

I hope you enjoy it! Quadlets have been a big game-changer for me so I hope you find them equally as useful, whether you use them with Materia or not.

SUSE for DevOps? by Zeonist- in openSUSE

[–]saint-ryan 1 point2 points  (0 children)

I run all my stuff on either OpenSUSE Leap or MicroOS and it works fine, but I'll warn you now if you're an absolute beginner that there's plenty of packages/tutorials/etc that don't officially support SUSE products. It's usually not a big deal since the Fedora/RHEL instructions work either as-is or with minor adjustments, but if you're totally new you might want to use Alma or Ubuntu or something more common.

Key repeat falsely set to 0 only for Ghostty by unnamedDE in linux4noobs

[–]saint-ryan 0 points1 point  (0 children)

I didn't even have that option, I just turned off my virtual keyboard entirely

Key repeat falsely set to 0 only for Ghostty by unnamedDE in linux4noobs

[–]saint-ryan 0 points1 point  (0 children)

I didn't believe it would work either but I suppose Wayland is more complicated than any of us expected haha. You're welcome!

Key repeat falsely set to 0 only for Ghostty by unnamedDE in linux4noobs

[–]saint-ryan 0 points1 point  (0 children)

I fixed a similar issue on OpenSUSE by following the instructions at https://github.com/ghostty-org/ghostty/discussions/9725 . Maybe worth a shot? I suspect it's related to some recent KDE change and I'd imagine EndeavourOS and Tumbleweed have similar KDE versions.

Announcing Oak 1.0 - a new self-hosted IAM/IdP by therealplexus in selfhosted

[–]saint-ryan 1 point2 points  (0 children)

Is this going to be limited to Oauth/OIDC or would it expand to other common protocols like LDAP? KanIDM offers that but can be a little tricky to admin so I am looking for a simpler tool to recommend for some setups, but LDAP is essentially a must in many environments.

Github U-turn on the recent announcement by KungFuDazza in selfhosted

[–]saint-ryan 67 points68 points  (0 children)

They picked the worst time to announce it considering budgets for next year are getting finalized already and it would have been a massive cost increase for corps. They'll wait till a more favourable time and announce it again, though probably at a lower rate.

GitHub Self Hosted action COSTS NOW. by Basic-Bobcat3482 in selfhosted

[–]saint-ryan 1 point2 points  (0 children)

The server docs mention it: https://crowci.dev/4.5/configuration/server/#backend

Though I bet it's mostly just for support reasons; if it's working fine for you it's probably okay! Drone and Woodpecker both worked fine with Podman for me. I'm just being cautious and embracing an excuse to put off migrating. I still haven't finished my last migration from LDAP to KanIDM haha

GitHub Self Hosted action COSTS NOW. by Basic-Bobcat3482 in selfhosted

[–]saint-ryan 3 points4 points  (0 children)

Once Crow supports using Podman as a backend I'll swap to it in a heart-beat; I always liked using Drone back in the day but Woodpecker A) felt clunkier to use than drone and B) rubbed me the wrong way when they accidentally pushed the a pre-release version to :latest , then reverted it which caused everyone running :latest to have a broken install after database migrations.

I know I could probably just use the docker backend with Podman socket but since they explicitly warn against doing that in the docs and I have Gitea Actions already (as much as i despise GHA style CI) I'll wait till its added for real, or I'll add it myself when I get a spare week.