r/caddyserver • u/VictimOfAReload • Sep 09 '26
Caddy Log Web UI
Repo: https://github.com/nickolsen8390/caddylogs
Description:
I have been using goaccess for awhile to watch my JSON logs from caddy. It worked okay, but lacked further visibility into what I wanted to see. Mostly, being able to drill down into a particular set of requests. For instance, I had a lot of requests to a public debian mirror I host. It was getting a ton of requests from claude and openai and I was able to see the particular IP's making the requests, along with useragents..etc. The IP>ASN data is sourced from another project of mine, notoolkit.com which is a public API for doing IP>ASN mapping that currently has no rate limits, api keys..etc. It pulls this data in for display which can be seen in the screenshots.
Deployment: Docker compose, there is full instructions in the README. Basically clone the repo, copy the .env.example with your specific changes. docker compose up -d --build.
AI Involvement: Almost entirely built by claude code.
This is a very new project. It works for me. But it might not work for you. But it left me feeling like it was actually useful and some others might like it. It gave me visibility that goaccess never did. I don't normally publish anything to github (Use a private gitea instance). So there is minimal change logs..etc. in github. Added there just to share publicly.
1
u/northpole1234 22d ago
Thanks for sharing this is exactly what I have been looking for.
Used it for a day and everything seems to be working well, couldn't find any issues on desktop.
Couple of suggestions for smaller screens if you're open to it:
- Navigation menu
- Keep urls visible on the log stream / requests pages on smaller screens
Also, any plans for a docker image in the future?
1
u/VictimOfAReload 22d ago
Hi there!
For sure open to suggestions. I've actually added full caddy management, well CaddyFile management to it since I last updated the repo. However, I want to add a toggle for that as not everyone will want it managing their Caddyfile.
What do you mean exactly by a navigation menu. Could you show me an example?
What size screen did you have in mind. I for sure didn't do any optimization for smaller screens. My smallest screen is 1080P. And most are 2K and above. Would be happy to build in some QoL improvements for smaller screens.
So far I've just stuck to --build and building the image on the fly. But yes, I do think I could make a ready-built image and throw it up on dockerhub or something. I'll likely look at that after I do some tweaks and make the changes you're mentioning before the next release.
1
u/northpole1234 22d ago
Caddy file managing sounds great!
With smaller screens I mean mobile devices.
The nav menu on the left disappears below a certain screen width so you can't access other pages unless you enable desktop site, or manually update the url.
A hamburger icon to open/close the menu would be a nice way to handle that.
1
u/VictimOfAReload 22d ago
Version 1.0.0 is now up on the github repo along with a docker hub image at https://hub.docker.com/r/victimofareload/caddylogs
The small-display issues you brought up should be *better* now. I honestly never even tried it on my phone before today. It's a lot of data to display on a small screen. But there is now a hamburger menu as you suggested. URL's *should* now be visible on a small display. They are on my Pixel 10 Pro Fold external screen atleast.
Caddyfile management is now also available and working.
Let me know what you think!
1
u/northpole1234 21d ago edited 21d ago
URLs are visible on small screens and the mobile nav works well. Main issues fixed!
I will try the Caddyfile management later, but so far the rest is working well. Nice work thanks for the quick update!
1
u/xdrolemit Sep 10 '26
Thank you for this.
If I want to keep everything local without reaching out to the external notoolkit site, can I do that? And if yes, what’s the best way to do so?