A quick edit to address something important and provide a disclaimer:
Thank you all for your feedback! This project was “vibecoded” with Cloude AI and serves more as a “proof of concept” for what could be achieved with AI assistance. I’m just a tech enthusiast, and I’m excited to continue exploring new possibilities. I understand there’s a real concern about “AI Slop,” but that’s exactly why I’m sharing this project with you all so that experts who are interested in the idea can offer guidance or even help improve it.
I’ve noticed that many people with home labs prefer to update their applications manually instead of relying on other apps that automate the process. Often, they have to check each one individually. That’s where Vigil comes in. The primary function of Vigil is to centralize the information and give users clear visibility of which applications are outdated, their current version, and the newer version available from several sources. This way, you can decide what and when to update.
To be honest, I hope it ends up being useful to others as it is for me.
If you have a few minutes, I’d really appreciate you trying it out and leaving a review or suggestions on the repo or even here. I’d do my best to answer most of the comments.
I use Watchtower for keeping my containers automatically updated - except for the more complicates setups - there I just get notified via mail.
To monitor, I use my generic Graphana+Prometheus with cAdvisor and Docker metrics enabled:

- Alerting via Telegram
Docker monitoring:

That looks really interesting. I didn’t know you could do that. I think what tried to do with Vigil, is something simpler more focused on users that are beginners rather than pros. But I appreciate you sharing that
Hey, I vibe code a bunch of personal tools myself, so I genuinely appreciate the effort and the excitement of sharing what you’ve built.
But I think it’s important to be honest with your audience, especially when cross-posting the same project across multiple Lemmy communities: please mention that this was AI-generated code. People deserve to know that when deciding whether to use or trust a project.
It would also really help to explain what problem this solves that existing tools don’t already handle. There are several well-established options in this space: Watchtower, Diun, Portainer, Dockge, Arcane, Renovate. If your project does something meaningfully different, say so! That’s what would actually make people interested.
Keep building, but bring people along with the full picture. That’s how you earn trust.
Hi Tiritibambix, that’s genuinely a great advice. I’m kind of new in this tech world, so my apology for not getting things right. I’ve just learned a bunch of things through out the comments and I’m trying to address things the best I can. I’ll make sure to include the “AI code” tag or disclaimer for other projects in the future. I really had no idea that anything generated by AI could bring so many strong and different opinions. But that’s great. Thanks again!
Vibe-coded (with no disclaimer or
claude.mdfile), for those to whom that sort of thing matters.Thanks! That does matter
How does this differ from Dockge?
I think the main difference it’s the simplicity on what is intended to do. Essentially it’s a way to centralize all of your docker images, and give you a quick visual on what is outdated so you can update it yourself.
What’s your use case? Are you assuming users aren’t using Portainer or Arcane?
Hi comrademiao. I’m certainly not assuming anything. I’m pretty sure there might be other tools out there from reputable companies or devs. I just wanted to have a way to centralize the information about my apps and have a friendly dashboard so I could keep track of what is outdated and get a notification so I could manually update it. I’m not reinventing the wheel nor claiming anything extraordinary, but I thought maybe sharing this initiative with others would be useful somehow and would be a great opportunity to connect with other people.
I haven’t tried it yet, but here’s some initial thoughts:
Does it support multiple separate docker-compose.yml files? It would be useful if it could pull the list of containers directly from Docker rather than having to paste the docker-compose.
Does it pull changelogs so that the user can tell if a change is a breaking change that’ll require extra work?
It would be useful to support Webauthn/FIDO2 2FA instead of just TOTP. TOTP is being slowly phased out due to its weaknesses (it’s phishable). Similarly, it’d be useful to support single sign on using OIDC (OpenID Connect) as a lot of self-hosters use Authentik, Authelia, or Keycloak to have one login for all their self hosted services.
Hi Dan, Thanks for your feedback. Much appreciated. For the first question, you click on add and past the image you’re currently using on your compose so the app creates a card with the current version. It’s a bit manual and tedious at first, but once it’s done, it’s easier to maintain. I think your idea is great to have the app just ¨find your docker-compose and do the work", but I don’t know how to do it yet. I wanted to test it manually first and see how it’d work out.
Vigil tells you if the newer version of the image is a major change or not. If you set it to update your compose automatically it will notify you and create a log, it something goes wrong you can easily revert it from the dashboard. Did I get your question right? Let me know if you meant something else.
Finally, security is an absolute must! I decided to use 2FA because most people won’t need to expose it to the web.They’ll probably use it on LAN. However, I do have adding OIDC (OpenID Connect) in mind, since many people indeed use Authentik, Authelia (these are the ones I’m familiar with). Since this is the early version, I didn’t want to make things too complex and also, I’m vibecoding it, so I’ll certainly need some experts out there to help me out to implement it correctly and safely.
If you have any question, just let me know and I’ll try my best to answer that.
If you set it to update your compose automatically it will notify you and create a log, it something goes wrong you can easily revert it from the dashboard. Did I get your question right? Let me know if you meant something else.
What I meant was does it handle multiple docker-compose files? I have a bunch of them - one for Immich, one for Lemmy, etc.
I think I got it what you meant. I’ve only tested it on a LXC that has one application installed on it, like Jellyfin for instance. I need to run a test on a machine with several applications. I also need to test it to see how it behaves with Portainer. Regarding the option of “import YAML” it just works with one file at the time. I think I’d be nice to handle multiple compose files so users could just drop them and have them uploaded.




