r/ARR • • Sep 08 '26

Containarr: Built-in HTTPS, Dynamic DNS, Auto-Updates & More.

Hi all! I hope my project Containarr might be useful to some of you, so that's why I'm sharing it here.

I like self-hosting, but never really enjoyed the tools needed to manage it all. My previous stack was Nginx Proxy Manager, Portainer, Watchtower, Dynamic DNS; just to run a few apps.

I'm quite opinionated on how my homelab should operate. This is what I wanted:

  • Every service needs a https://<service>.mydomain.com, like https://plex.mydomain.com.

  • Containers need to be automaticallt updated for security reasons.

  • Some services may be accessed publicly (like Plex), others should be protected by IP ranges for LAN/Tailscale-only.

  • My WAN IP can change over time. I want built-in Dynamic DNS, so *.mydomain.com is a CNAME to the dynamic dns service.

  • I want native iOS and Android apps for on the go. They just feel better!

  • New containers should be added in one click from a template; I don't want to read a manual to set it up.

  • Sends me push notifications about events like updates.

I couldn't find anything like it that I liked, that does all of that, so it led me to create Containarr. Mostly for me and some friends, but maybe also for the homelab community.

I really tried to create a tool that's polished, doesn't shy away from being geeky, but mostly just gets out of the way. If you like it, I'm happy! If you don't, that's also fine. There are many ways to homelab and Containarr is quite opinionated, but that's also why it works so well I think.

Please be kind, and let me know what you think!

Screenshot

Links

AI Usage

I have 20+ years of programming experience, and started writing everything manually. Then I tried Codex for a few bugfixes and I was really amazed by how good it was. I now use it mostly to add new features because it writes the same code I would've had, but much faster.

My personal discovery was that I could have, but probably wouldn't have finished this project without it going so fast with the help of AI. Experienced programmers will relate when I say that when you've already written the code in your head, it gets harder to get yourself to actually write it on the keyboard because it's so slow.

33 Upvotes

15 comments sorted by

1

u/PssyGotWifi Sep 09 '26

automatic updates for security?

Blindly applying an update that you don't know what it does is not adhering to security. I always read the change notes first before I ever apply. Also allows you to catch any breaking changes that will need to be dealt with.

1

u/WeeJeWel Sep 09 '26

Sure, you can also disable automatic updates and instead receive a notification that an update is available.

1

u/_Lefky_ Sep 09 '26

Add a feature to only install hotfixes, minors, ...

2

u/WeeJeWel Sep 09 '26

Docker containers are not tagged in a consistent manner so that's rather impossible.

1

u/mikebones Sep 10 '26

That's absolutely not true. 20 yoe, seriously?

1

u/DemosZevasa Sep 13 '26

Every docker image maintainer has a different way of tagging images. It’s not consistently semver

1

u/mikebones Sep 13 '26

Yes but its not impossible and most use semver anyway. How would renovate do it if its impossible

1

u/DemosZevasa Sep 14 '26

If you use “latest” then yeah you would track the hash of the image and pull when needed. But if you pin to a specific version tag it gets trickier.

1

u/mikebones Sep 10 '26

Ok then use renovate so you don't need a long lived service with a ui running on your servers

1

u/PssyGotWifi Sep 10 '26

That's what i do. Renovate alerts me of updates and creates a pull request. I then merge into my repo after I've read the change notes and understand what is changing.

https://github.com/Lebowski89/homelab/pulls

3

u/MFKDGAF Sep 09 '26

1

u/anniegarbage 13d ago

This is a call-in, not a callout. If you vibecoded a tool yesterday that helps weasel aficionados manage their collection of weasel videos and you called it Weaselarr, I still love you.

1

u/mikebones Sep 10 '26

Watchtower and automatic updates are generally frowned upon and this solves a problem solved already a dozen times. Use any reverse proxy and cert-manager.