installed-ODK-central-website-not-loading

Hi, all.
I've successfully installed (more than 24 hours ago) Central on Digital Ocean (attached is a screenshot of the outputs of "docker-compose ps").
However, Central's management website is not loading if I type
"odkcprojects.coliassocloudservers.com" in a browser.
The domain I'm using is coliassocloudservers.com and I set it up 01 year ago.
I also successfully ping odkcprojects.coliassocloudservers.com
Thanks in advance for any help.
Best,

Hi @Amal
Apparently there is something wrong with nginx because the status is starting... is is the same all the time?

Hi @Grzesiek2010
Please, see attached what I've just got when running "docker-compose ps".

Please run this command:
docker-compose logs nginx

and share the output.

See attached, please.

Could you attach a txt file? The logs in the screenshot is hardly visible.

Ok;
but, selecting and copying in my droplet's console are not working; so, can you please tell me how to, directly copy the outputs of a command to the clipboard.
Thanks, in advance.

@Amal try this:

docker-compose logs nginx > /tmp/nginx.log;
cat /tmp/nginx.log | nc termbin.com 9999;

The above command will give you a link (e.g., https://termbin.com/123abc) that you can share.

1 Like

Hi @yanokwa,
thank you.
here is the link I get: https://termbin.com/kym6

Probably this is the cause:

AuthorizationError: Some challenges have failed.
e[36mnginx                 |e[0m Please see the logfiles in /var/log/letsencrypt for more details.
e[36mnginx                 |e[0m IMPORTANT NOTES:
e[36mnginx                 |e[0m  - The following errors were reported by the server:
e[36mnginx                 |e[0m 
e[36mnginx                 |e[0m    Domain: coliassocloudservers.com
e[36mnginx                 |e[0m    Type:   unauthorized
e[36mnginx                 |e[0m    Detail: Invalid response from
e[36mnginx                 |e[0m    https://coliassocloudservers.com/.well-known/acme-challenge/dbi0ks05man36gUzUWWJjlCBOBGzRuXwtKtxnYiaLnE
e[36mnginx                 |e[0m    [2001:4860:4802:36::15]: "<html><head>\n<meta
e[36mnginx                 |e[0m    http-equiv=\"content-type\"
e[36mnginx                 |e[0m    content=\"text/html;charset=utf-8\">\n<title>404 Not
e[36mnginx                 |e[0m    Found</title>\n</head>\n<body text="
e[36mnginx                 |e[0m 
e[36mnginx                 |e[0m    To fix these errors, please make sure that your domain name was
e[36mnginx                 |e[0m    entered correctly and the DNS A/AAAA record(s) for that domain
e[36mnginx                 |e[0m    contain(s) the right IP address.
e[36mnginx                 |e[0m  - Your account credentials have been saved in your Certbot
e[36mnginx                 |e[0m    configuration directory at /etc/letsencrypt. You should make a
e[36mnginx                 |e[0m    secure backup of this folder now. This configuration directory will
e[36mnginx                 |e[0m    also contain certificates and private keys obtained by Certbot so
e[36mnginx                 |e[0m    making regular backups of this folder is ideal.
e[36mnginx                 |e[0m + error 'Cerbot failed for coliassocloudservers.com. Check the logs for details.'
e[36mnginx                 |e[0m + set +x

What did you pass in this step https://docs.getodk.org/central-install-digital-ocean/#obtaining-and-setting-up-odk-central in .env file as your domain? coliassocloudservers.com? which points to your aggregate server?

Hi, @Grzesiek2010

Yes; I think I passed "coliassocloudservers.com".
is it possible to access the env file to verify that? if so, please tell how
Thanks

I think you need to repeat that step and everything what's after.

OK
do I need to remove the whole docker or simply repeat from that step?

No, I think you can start from that step.

starting by re-running "nano.env", i noticed that the domain I had passed is well written.
So, I'm wondering if there, I should pass my domain "coliassocloudservers.com" or the hostname used when creating the droplet "odkcprojects.coliassocloudservers.com"?

You should pass the domain that points to your Central server not aggregate. You can use FreeDNS as described in https://docs.getodk.org/central-install-digital-ocean/#obtaining-a-web-address-domain-name.

Generally I wonder is it possible to just skip the domain and use IP address to access a server? Not everyone needs domains (buying or creating free ones). I remember that when I tried some time ago to setup ODK Central without passing any domain it didn't work. @issa

it seems that, instead of a whole domain name, what should be passed there as DOMAIN is a subdomain, used as hostname in DO when creating the droplet.
Replacing my domain "coliassocloudservers.com" by my subdomain "odkcprojects.coliassocloudservers.com" in .env file has solved my "Central not loading" problem; so, my ODK central management website is loading well now.
Thank you so much, @Grzesiek2010 and @yanokwa for your helps.
Best regards,

1 Like

Glad you were able to get it working, @Amal!

In general, that configuration requires the (sub)domain that the SSH certificate was issued for.

It's not because SSH certificates can't be issued for IPs. This is because it's a lot harder to verify the ownership of an IP than it is to verify the ownership of a domain. You could use an IP with a self-signed cert using the custom SSL configuration path but currently neither Collect nor Enketo will accept self-signed certs. This is under discussion and may change.

It takes more effort up front to securely set up SSL but the security benefits are worth it in most contexts. I know that it's annoying for demo or test servers but the danger is that demo or test servers can become production servers out of forgetfulness/laziness/lack of knowledge and that could be dangerous for sensitive data.

A post was split to a new topic: Installing Central without a domain

A post was split to a new topic: Central not loading