Install Docker

Update the repo to get latest versions

sudo apt update

Install the latest version

sudo apt install docker.io

Set Docker to start on startup

sudo systemctl enable --now docker

Give your user permissions to docker, replacing user with your username

sudo usermod -aG docker user

Test it has installed correctly by getting the docker version

docker --version

Docker Compose

I also install docker-compose as some dockers need you to compose from a yml file. This downloads v2.16.0, just change this if the version updates to a later version

sudo curl -L "https://github.com/docker/compose/releases/download/v2.16.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

Give permissions to this

sudo chmod +x /usr/local/bin/docker-compose

Test it has installed correctly by getting the docker-compose version

docker-compose --version

Install AdGuard Home

First we need to pull down the latest adguard docker image.

docker pull adguard/adguardhome

Now we need create a data directory

sudo mkdir -p /opt/adguardhome/work

Then we need to create the config directory

sudo mkdir -p /opt/adguardhome/conf

Now we can create the docker instance. I’m going to access the admin console on port 83 as 80 is in use. This is specified at -p 83:80. If you want to access on a different port change the number before the :

docker run --name adguardhome -v /opt/adguardhome/work:/opt/adguardhome/work -v /opt/adguardhome/conf:/opt/adguardhome/conf -p 53:53/tcp -p 53:53/udp -p 83:80/tcp -p 3000:3000/tcp -d adguard/adguardhome

First run

Browse to http://serverip:3000 and you will get the wizard screen, accept the defaults and create your admin user. Once complete, browse to http://serverip:83 and sign in with the user created.