//EDIT: @chuckf and me answered at the same time Still here’s my 2 cents:
OK, so you changed at least four things at the same time which makes it quite difficult to understand and debug. Furthermore you mixed different things from the instructions into a Cocktail.
Perfect, this (and only this!) is what I wrote in my last comment. After this step, everything should have been working without problems. Have you tested it and can you verify it? Would be important to know that everything works before(!) doing the Adguard/Network/Macvlan things.
Why have you implemented those 3 DNS rewrites? Since you are using the fritzbox patch, you don’t need to bother with dns anymore. You just have to make sure that tc.fritz.box
resolves to your Teddycloud and this is independent from Adguard! Be aware: it has to be the Teddycloud(!), not your Teddycloud host anymore! Because after you added macvlan, your Teddycloud gets a different ip address than your Teddycloud Docker host! This also means that you have to adapt your network settings in the Fritzbox GUI!
Your macvlan configuration is as basic as it can be. First question: is macvlan necessaray at all in your case? Is port 443 on your docker host already occupied? If not, I would not use it at all. If yes, than I would at least define a dedicated ip address so that you don’t have to inspect it afterwards. In my case it looks like this for example:
version: '3'
services:
teddycloud:
container_name: teddycloud
hostname: teddycloud
image: ghcr.io/toniebox-reverse-engineering/teddycloud:latest
networks:
my_macvlan:
ipv4_address: 192.168.178.13
... (etc.)
####### Network - macvlan #######
networks:
my_macvlan:
driver: macvlan
driver_opts:
parent: wlan0
ipam:
config:
- subnet: 192.168.178.0/24
gateway: 192.168.178.1
ip_range: 192.168.178.12/30
So as you can see, I explicitely set the ipv4 address for the teddycloud container in the upper part (*.13 in my case). And I also reduced the possible ip addresses which macvlan can use to two (.12/.13) by using ip_range: 192.168.178.12/30
. You have to make sure that those ip addresses are outside the range of your DHCP server so that they never get assigned automatically to other clients. Here’s a very detailed HowTo wich explains it.
When you activate AdGuard, make sure that prod.de.tbs.toys
, rtnl.bxcl.de
and api.revvox.de
are not blocked. I’d put them on the Allow-List (with higher priority than any blocklist).
You can test if DNS on your Teddycloud instance is working at all by running these commands on your Docker host:
docker exec -i teddycloud bash -c "curl -svo /dev/null api.revvox.de"
docker exec -i teddycloud bash -c "curl -svo /dev/null prod.de.tbs.toys:443"
docker exec -i teddycloud bash -c "curl -svo /dev/null rtnl.bxcl.de:443"
Concerning the DNS of your Teddycloud: you can either set it manually in the docker-compose.yaml
(a public one or your Adguard Home DNS) or you can leave it blank which means that the DNS of your Gateway (Fritzbox) will be used. If this is already set to your Adguard, then you’re fine. But honestly, there’s no need to use an Ad-/Contentblocker inside the Teddycloud container. This leads most probably to more problems than it resolves.