AdGuard home integration
Hi! I have been trying for a few days to make my AdGuard Home integration work. I’ve tested if Homarr and AdGuard can see each other, put the credentials and selected the integration when I added the app.
I’ve searched the Discord, documentation and Reddit in general but I cannot seem to find a real answer, if anyone could help I’d be very greatful!
Homarr and AdGuard are on two different hosts, no other details come to mind as now, if I need to give additional info please let me know what I should add!
OS: Ubuntu Server 22.04 LTS
Host: Docker Compose
Config: the default from the documentation
Logs: https://pastebin.com/XuxGEjMC
No errors or warnings in the logs
Pastebin
Logs for Homarr - Pastebin.com
Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.
Solution:Jump to solution
Forbidden -> Either your reverse proxy is blocking the requests or the credentials are incorrect
81 Replies
Thank you for submitting a support request.
Depending on the volume of requests, our team should get in contact with you shortly.
⚠️ Please include the following details in your post or we may reject your request without further comment: - Log (See https://homarr.dev/docs/community/faq#how-do-i-open-the-console--log) - Operating system (Unraid, TrueNAS, Ubuntu, ...) - Exact Homarr version (eg. 0.15.0, not latest) - Configuration (eg. docker-compose, screenshot or similar. Use ``your-text`` to format) - Other relevant information (eg. your devices, your browser, ...)
❓ Frequently Asked Questions | Homarr documentation
Can I install Homarr on a Raspberry Pi?
Hi @Matt , what does the dashboard look like? I see no problems when looking at the log. Did you capture the log after a few minutes?
Yes, those logs are around 20 minutes old, I have tried to search for a deeper log mode but I cound't find any log-level option in the configs
This is how the homepage looks like, I've already made sure that all the login parameters in the integration are correct
I'll share the docker-compose.yml content, even tho I just copied and pasted it from the docs, maybe I got something wrong in the process
Can you try a different browser and clear your cache
Sure thing
Using MS Edge gives the same problem
Sometimes logs are only present in the browser console, anything there?
I'll check it out
If there's no error it means there a problem with how you configured the integration
Or rather, that you might not have done it
I only configured this part of the app, directly on the widget it just gives me the "Use colors from PiHole" switch and the choise between orientations
I might know...
Basically, we validate the data we get from adguard, and if those values are somehow out of scope, it invalidates all the data without giving an error...
So the data that's coming from AdGuard are somehow out of scope?
Didn't we implement a log for this a few months ago? I would check this assumption
Yeah, but I'm not sure adguard is the problem. We had a similar issue in the past.
I'll check it
If there is anything that I can do to help from my end just let me know
:')
Who thought that this was a good idea....
Can you commit a fix @Tag ?
It actually is a good idea, because otherwise it would just crash the page because the errors weren't handled. I just forgot to log the error
Yea that's what I meant. Swallowing errors is worse than throwing a stacktrace 😂
Anyway I'll make a fix that logs the error and remove the validation
It could help to know exactly what value is being held back, it might be a bit hard if you don't know how to do it but would you be able to run this get request on your adguard and share the response?
The easiest way would be to use postman instead of going the hard route with curl
I’ll try, give me a few mins, was having dinner
No problem
Is it a problem if I cut out the top queried domains and the top clients?
Just from a "sensitive data" standpoint
Of course cut that part out
I've left out the whole top queried, top blocked and top clients and just put a random value just not to leave it empty
It took a while just cause I've never used Javascript and had to improvise a bit xd
Oh you went and actually copied the function? X) That's why I suggested postman
Oh no no, I had a bit of difficulty actually translating the code to the request, I'm a bit rusty on HTTP requests and stuff so I had to experiment a bit ahah
Anyway, I'm a bit stumped because those values all meet the validation.
You just have 2 values not in the schema, maybe that's the problem
Which ones?
"top_upstreams_responses" and "top_upstreams_avg_time"
I'll add them and remove most validations on the schema, see if that's enough
Alrighty
Alright, could you try the image "tagaishi/homarr:latest"?
I’ll updated real quick! Give me a few minutes
Do I have to log in with docker to access the image?
One sec I might have gotten that wrong
@Tag your fork is private or the ghcr is private
I think I fixed it, can you try again?
Sure
It gives me the same error
Can't even reach the webpage
It's on ghcr not docker
Docker pull ghcr.io/tagaishi/homarr:latest
Omg sorry
I'm a bit tired xd
No no, I should have been more precise
Now it's pulling
Now we have errors!
Ay that's new, that's nice
That error tells us nothing though x)
Yeah I kinda noticed it xd
What's the next move? :3
But it tells me one thing, all requests are failing, even the one that didn't have validation, and I removed the other validations
Mhhh
Also the error is not when parsing the data, but on the fetch.
You think it could be something wrong on the AdGuard end?
I think it is yeah, I need to add some loging in the adguard sdk
Btw, it is getting kinda late for me and tomorrow I have to wake up for uni. I hope it's not a big inconvenience if I go to sleep :')
No no go right ahead, I'll message to tell you that you can repull at your convenience
Thanks for the help so far! If you need anything just text me here and I'll read tomorrow morning
Hope you have a great rest of your day/evening/night!
No problem, have a good night
I made another image, just pull latest again. It should give us the error code
Hi! I will do that asap
I’ll be in uni for next few hours and I won’t be able to do anything, I’ll update you when I’ll be able to test the new image!
This is weird, docker compose is saying that the image is already up to date, but I can see no errors. You wanted me to pull from main or from the image that you sent me yesterday?
It's ok take your time. It should be the same image as I sent yesterday but if latest doesn't work then use "v.0.15.999" instead
I tried deleting the old image and just repulling it, but I keep seeing this
The image should be up to date, on the client side I still can't see no errors
That is really strange, this means the fetch itself is failing before it can get an error code.
Are you sure the address is set correctly?
Yeah, I can double check but I'm pretty sure the adress is correct since clicking on the app redirects me on the right page
Homarr uses the internal address, while your browser uses the external address. It doesn't mean it works
I can confirm that the adress is right
You also have to make sure that homarr can use that address, not just you
Well being a DNS server is hosted on my own network and I use a private adress to both reach the DNS server and the admin page
So yeah, Homarr can reach the AdGuard server, I already tested cause I thought it was a network problem
Sanity check then because it doesn't make much sense here. Try to wget/curl that address from homarr's container's command line
It's a self-signed cert so I thought the error was for that
That looks like it could be the issue there. It is generally recommended to use http to avoid those kinds of issues
Not true, you just need to make sure your SSL setup is good. SSL is actually recommended for security
So the untrusted cert is the problem?
Ok so that was a problem, now the data fetches and gives the following errors:
Solution
Forbidden -> Either your reverse proxy is blocking the requests or the credentials are incorrect
I just refresh the page and it works now
I'll still make the PR for better loging in adguard since that was definitely missing and necessary for the debugging process