Pmm v3 update not possible

Hi,

Unfortunately, I can’t update to PMM v3.1.0 via the UI. When I try, I get the following error:

“Failed to check watchtower host”

Both Docker Compose configurations use the same WATCHTOWER_HTTP_API_TOKEN. The update page also correctly displays information about my PMM instance.

Do you have any idea why this error occurs?

Thanks!

Hey @Marvin_Stelter,
I take it you launched a docker container with watchtower? And you did this inside a dedicated docker network? And both watchtower, and pmm-server containers are in the same network?

Hi, i have same issue

both containers are in the same docker network

[
    {
        "Name": "pmm-network",
        "Id": "7849d1094a2619158c9ebe398aa132c62a183eef6b596685be925064012f61a3",
        "Created": "2025-03-12T15:17:13.937447747Z",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv4": true,
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": {},
            "Config": [
                {
                    "Subnet": "172.18.0.0/16",
                    "Gateway": "172.18.0.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {
            "1620254d7b941e84ce136a6637b2902136f22c60a456a5bd5f00b6e885c44aca": {
                "Name": "watchtower",
                "EndpointID": "82f1dc87603da0987328f6121d17aba406aabe60950323696113c18cc615df1e",
                "MacAddress": "a6:77:64:60:76:a9",
                "IPv4Address": "172.18.0.2/16",
                "IPv6Address": ""
            },
            "d1b1e170332524ed97244f6ec55f361481bc8f3c57cc85ea93d3ed373830f8d2": {
                "Name": "pmm3-server",
                "EndpointID": "b64b4a6bcfda8976168c8a929ac9b0790e6328afa07cd6d9237d64041d2fbf95",
                "MacAddress": "62:cd:7a:76:3d:33",
                "IPv4Address": "172.18.0.3/16",
                "IPv6Address": ""
            }
        },
        "Options": {},
        "Labels": {}
    }
]

I have the same issue. I am trying to upgrade PMM from version 3.0.0 to 3.1.0 but I end up with the same issue - “Failed to check watchtower host”.

# docker inspect pmm-network
[
    {
        "Name": "pmm-network",
        "Id": "65bfb9daa36b5d73c1f9a553ddsdfsfg4252311af6c4edbb236090092abc0e879a83ed730b",
        "Created": "2025-03-15T14:28:12.851612135Z",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv4": true,
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": {},
            "Config": [
                {
                    "Subnet": "172.20.0.0/16",
                    "Gateway": "172.20.0.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {
            "83c949821b3f1e27cf7c601eb4fa4e748211960dd7972de87623ffdeb7a88c1d": {
                "Name": "watchtower",
                "EndpointID": "29845a6bebc02bfe55796de714060f55b5a324dfsd5398b5c58b17f9e93552d472e2d6e",
                "MacAddress": "7m:y6:d8:5q:76:6c",
                "IPv4Address": "172.20.0.2/16",
                "IPv6Address": ""
            },
            "d005616a8328cc3d836c6124a70cb9f3f83f528ad47a2a6223b3e49f56296503": {
                "Name": "pmm-server",
                "EndpointID": "7ab4cf7c923c4e1263f72d677sdddad579d9aa0fg56161f5748293a35b2ccb9f100de420d5b",
                "MacAddress": "e2:67:04:d0:c9:7b",
                "IPv4Address": "172.20.0.3/16",
                "IPv6Address": ""
            }
        },
        "Options": {},
        "Labels": {}
    }
]

Im having the same issue here, both containers pmm-server and watchtower are in the same network , token and watchtower hostname are correctly set , but the update app wizard still complain about it is unable to check watchtower host.

I made it manually .
Stop and remove ctnr

docker stop pmm-server && docker rm pmm-server

percona/pmm-server:3.2.0

docker run --detach --restart always \
--publish 443:8443 \
--env PMM_WATCHTOWER_HOST=9436f0c11113 \
--env PMM_WATCHTOWER_TOKEN=28955d573bd9f89e267aeb9d0a11111c \
--volume pmm-data:/srv \
--network=pmm-network \
--name pmm-server \
percona/pmm-server:3.2.0

check new version

docker exec -it pmm-server bash -c 'pmm-admin --version'

results

ProjectName: pmm-admin
Version: 3.2.0
PMMVersion: 3.2.0
Timestamp: 2025-05-23 08:45:18 (UTC)
FullCommit: 60c952647f6476f651083dbd9b47f02343636998

Hi, can you run docker inspect pmm-server and docker inspect watchtower and share output, please? Could you also share how did you setup it?

and same problem over here

Hi, can you run docker inspect pmm-server and docker inspect watchtower and share output, please? Could you also share how did you setup it?

I was trying to reproduce this issue but everything works for me. As Nurlan suggested you can run docker inspect and docker logs. This information would be useful for investigation

PMM_WATCHTOWER_HOST value should contain schema://host:port, e.g.: --env PMM_WATCHTOWER_HOST=http://watchtower:8080

see the inspect output.
Same problem with the new 3.3.0

@nurlan Here, as per PMM3 documentation, does your_watchtower_host mean the PMM server hostname?

PMM Server Host: tpmm101 (Docker Setup)

docker run --detach --restart always
–publish 443:8443
–env PMM_WATCHTOWER_HOST=http://tpmm101:8080
–env PMM_WATCHTOWER_TOKEN=your_watchtower_token
–volume pmm-data:/srv
–network=pmm-network
–name pmm-server
percona/pmm-server:3

@Naresh9999, your_watchtower_host should be the hostname of the docker container which is running watchtower. Since both watchtower and pmm containers are in the same network, hostnames can be resolved using dockers internal DNS.

Got it @matthewb @nurlan

But I have observed the same in my case as well. When we upgrade the PMM from 2.44.0 to 3.1.0 or a higher version, I think the PMM_WATCHTOWER_HOST=http://watchtower:8080 is like this.

But when we install PMM 3.1.0 or a higher version, then we have option that we can enter the host name of the PMM server like this.

docker run --detach --restart always
–publish 443:8443
–env PMM_WATCHTOWER_HOST=http://tpmm101 :8080
–env PMM_WATCHTOWER_TOKEN=your_watchtower_token
–volume pmm-data:/srv
–network=pmm-network
–name pmm-server
percona/pmm-server:3

So this time the PMM_WATCHTOWER_HOST=http://tpmm101 :8080 like this.

In this case, while upgrading to 2.44.0 and installing PMM 3.1.0 directly, they are taking different PMM_WATCHTOWER_HOST values. May this might be the issue?

@matthewb @nurlan In my case, which one should be correct?

PMM_WATCHTOWER_HOST=http://watchtower:8080

OR

PMM_WATCHTOWER_HOST=http://tpmm101:8080