I have managed to RESOLVE The Error using various suggestions in the forum
Step 1: Check reach ability of ODK host to the ODK central website https://xxx.yyyy.zzzz
cd ~/central
curl -i https://xxx.yyyy.zzzz
curl https://xxx.yyyy.zzzz | grep getodk.org
Potential issues:
The server is host is not able to reach itself due to
a. DNS issues:
nslookup xxx.yyyy.zzzz
You should get the public IP address of the ODK central website xxx.yyyy.zzzz
If Not, check reachability to DNS and configuration of DNS. It may happen that you are using a lcoal DNS server and not global DNS server and the lcoal DNS server does not have the correct DNS records
b. Firewall issues
Check that the server is able to reach the public IP of ODK central host
ping 11.22.33.44
After completion of step 1, you should be able to ensure that the ODK central host is able to reach the website https://xxx.yyyy.zzzz
curl https://xxx.yyyy.zzzz | grep getodk.org
Step 2: Check Reach-ability of ENKETO service to the ODK central website https://xxx.yyyy.zzzz
cd ~/central
docker exec -it central-enketo-1 bash
# You will enter the enketo container and can execute commands in it
# root@707a18658765868:/srv/src/enketo/packages/enketo-express
# Curl is not normally installed in container
apt install curl dnsutils
nslookup xxx.yyyy.zzzz
curl https://xxx.yyyy.zzzz | grep -c getodk.org
You should be able to get the public IP of the https://xxx.yyyy.zzzz using nslookup
Lets say the public IP is 11.22.33.44
If not, then the docker container is not able to resolve the DNS address and you may need to edit the /etc/docker/daemon.json file on the HOST (Not in the container). However I find it simpler to edit the /etc/hosts file on the host
# Exit from container to the host
exit
# Edit docker dameon
sudo nano /etc/docker/daemon.json
{
"dns": ["1.2.3.4", "9.8.7.6", "8.8.8.8"]
}
docker compose stop
systemctl restart docker
docker compose up -d
# OR, Edit the hosts file and add your public IP / Reverse Proxy IP and website to local resolver
sudo nano /etc/hosts
127.0.0.1 localhost
127.0.1.1 odk_svr
# REPLACE WITH YOUR PUBLIC IP AND ODK CENTRAL WEBSITE ADDRESS
11.22.33.44 xxx.yyyy.zzzz
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
# RESTART from STEP 2
In my case, i added my reverse proxy IP to the /etc/hosts
on the ODK host
NOW AM A HAPPY CAMPER
Thanks for all those who contributed
Cheers
Vivek