arm64 support?
Closed this issue · 11 comments
arm64 support?
As of now the adguard-unbound docker image only support amd64 arch.
I have submit a patch to allow cross platform to the author. If he allow the update then can test out the arm docker image later.
Can you try use this docker image? It support arm64.
Update the docker-compose.yml file to use the new image.
image: dieucq/adguardhome-unbound
Hey dude,
I tried to docker compose up the image but I always got this error:
pi@adguardhomepi:~/docker-adguard-unbound $ docker compose up -d
[+] Running 0/1
⠼ Container adguard-unbound Starting 0.4s
Error response from daemon: driver failed programming external connectivity on endpoint adguard-unbound (9645f4613285f348ec271e17a0a838c234f0c3bd114b99d937557b1c0baef1d0): Error starting userland proxy: error while calling PortManager.AddPort(): cannot expose privileged port 53, you can add 'net.ipv4.ip_unprivileged_port_start=53' to /etc/sysctl.conf (currently 80), or set CAP_NET_BIND_SERVICE on rootlesskit binary, or choose a larger port number (>= 80): listen tcp4 0.0.0.0:53: bind: permission denied
but when I change
net.ipv4.ip_unprivileged_port_start=53
same error with another port show up :/
Hey dude, I tried to docker compose up the image but I always got this error:
pi@adguardhomepi:~/docker-adguard-unbound $ docker compose up -d [+] Running 0/1 ⠼ Container adguard-unbound Starting 0.4s Error response from daemon: driver failed programming external connectivity on endpoint adguard-unbound (9645f4613285f348ec271e17a0a838c234f0c3bd114b99d937557b1c0baef1d0): Error starting userland proxy: error while calling PortManager.AddPort(): cannot expose privileged port 53, you can add 'net.ipv4.ip_unprivileged_port_start=53' to /etc/sysctl.conf (currently 80), or set CAP_NET_BIND_SERVICE on rootlesskit binary, or choose a larger port number (>= 80): listen tcp4 0.0.0.0:53: bind: permission denied
but when I change net.ipv4.ip_unprivileged_port_start=53 same error with another port show up :/
Do your login have access to run docker without root access? Btw, pls do not hijack this thread. Open another thread for your own issue.
I made it work for my pi.
Just clone the dockerfile from https://github.com/lolgast1987/adguard-unbound/blob/master/Dockerfile
Then replace AdGuardHome_linux_amd64.tar.gz
with AdGuardHome_linux_arm64.tar.gz
(2 occurences) and build it. Also copy over the unbound.conf from here.
My docker compose, for reference:
adguard-unbound:
build: ./../pidata/adguard/dockerfile #adjust accordingly to your dockerfile folder location, in which you place the updated Dockerfile
container_name: adguard-unbound
restart: unless-stopped
hostname: adguard-unbound
entrypoint:
- /bin/sh
command: ["/opt/entrypoint.sh"]
environment:
- TZ=Europe/Bucharest
volumes:
- /home/ll/shared/pidata/adguard/opt-adguard-work:/opt/adguardhome/work # adguard container work directory
- /home/ll/shared/pidata/adguard/opt-adguard-conf:/opt/adguardhome/conf # adguard container conf directory
- /home/ll/shared/pidata/adguard/unbound:/opt/unbound #map custom unbound config
- /usr/share/dns:/usr/share/dns # map DNSSEC key and root hints from dns-root-data package
ports:
- 53:53/tcp # AdGuard Home DNS connection
- 53:53/udp # AdGuard Home DNS connection
- 3000:3000/tcp # AdGuard Home install web panel. Can disable after installation is completed.
- 8087:80/tcp # AdGuard Home web panel HTTP
#- 443:443/tcp # AdGuard Home web panel HTTPS
#- 784:784/udp # AdGuard Home DNS-over-QUIC service
#- 853:853/tcp # AdGuard Home DNS-over-TLS/QUIC service
#- 67:67/udp # DHCP server
#- 68:68/udp # DHCP server
#- 5035:5035/tcp # Uncomment to enable unbound access on local server
#- 5035:5035/udp # Uncomment to enable unbound access on local server
networks:
- caddynet
Enjoy.
One question, since Im new to Adguard, coming from pihole, do we bind "All interfaces" in the setup? Or only eth0? Or l0?
And the Adguard DNS should be 127.0.0.1:5053 or 0.0.0.0:5053?
Cheers
I made it work for my pi. Just clone the dockerfile from https://github.com/lolgast1987/adguard-unbound/blob/master/Dockerfile Then replace
AdGuardHome_linux_amd64.tar.gz
withAdGuardHome_linux_arm64.tar.gz
(2 occurences) and build it. Also copy over the unbound.conf from here.My docker compose, for reference:
adguard-unbound: build: ./../pidata/adguard/dockerfile #adjust accordingly to your dockerfile folder location, in which you place the updated Dockerfile container_name: adguard-unbound restart: unless-stopped hostname: adguard-unbound entrypoint: - /bin/sh command: ["/opt/entrypoint.sh"] environment: - TZ=Europe/Bucharest volumes: - /home/ll/shared/pidata/adguard/opt-adguard-work:/opt/adguardhome/work # adguard container work directory - /home/ll/shared/pidata/adguard/opt-adguard-conf:/opt/adguardhome/conf # adguard container conf directory - /home/ll/shared/pidata/adguard/unbound:/opt/unbound #map custom unbound config - /usr/share/dns:/usr/share/dns # map DNSSEC key and root hints from dns-root-data package ports: - 53:53/tcp # AdGuard Home DNS connection - 53:53/udp # AdGuard Home DNS connection - 3000:3000/tcp # AdGuard Home install web panel. Can disable after installation is completed. - 8087:80/tcp # AdGuard Home web panel HTTP #- 443:443/tcp # AdGuard Home web panel HTTPS #- 784:784/udp # AdGuard Home DNS-over-QUIC service #- 853:853/tcp # AdGuard Home DNS-over-TLS/QUIC service #- 67:67/udp # DHCP server #- 68:68/udp # DHCP server #- 5035:5035/tcp # Uncomment to enable unbound access on local server #- 5035:5035/udp # Uncomment to enable unbound access on local server networks: - caddynet
Enjoy. One question, since Im new to Adguard, coming from pihole, do we bind "All interfaces" in the setup? Or only eth0? Or l0? And the Adguard DNS should be 127.0.0.1:5053 or 0.0.0.0:5053?
Cheers
Check out my dockerfile (https://github.com/hat3ph/adguard-unbound/blob/master/Dockerfile), it should allow to build multiple arch of docker image.
For the AdGuard listen interface setup, I would recommend to use All interfaces for out-of-the-box experience. But in theory, choose the default eth0 should work for your local network. Choose lo interface only for local loopback connection.
https://github.com/AdguardTeam/AdGuardHome/wiki/Configuration
https://github.com/AdguardTeam/AdGuardHome/wiki/FAQ#webaddr
Thanks, I will probably use your dockerfile.
Personally, I used FROM arm64v8/alpine
to get it correctly for my pi architecture.
Also, is there a reason you choose to stick to older version? Latest stable is unbound=1.17.1-r0
As for the interface, yes, I choose eth0 only, I used to do the same for pihole.
@C8opmBM, I have update the dockerfile using latest alpine and unbound. Pls try it out.
Thanks for the update @hat3ph, but I've eventually decided to run a normal combo of the official adguard/adguardhome:latest
image and the maintained klutchell/unbound:latest
due to ease of use and access to automatic updates.
Thanks again and have a great weekend.
Thanks for the update @hat3ph, but I've eventually decided to run a normal combo of the official
adguard/adguardhome:latest
image and the maintainedklutchell/unbound:latest
due to ease of use and access to automatic updates. Thanks again and have a great weekend.
No problem. Have fun.
For those whose is interested, I have build multi-arch docker image in ghcr.io. Go check it out https://github.com/hat3ph/adguard-unbound