Do I need to manually configure NGINX for reverse proxy, or is it handled by default in ODK Central's Docker setup?

Hi ODK Community,

I'm installing ODK Central using Docker on Ubuntu 22.04 with a domain and HTTPS. I noticed that NGINX is part of the Docker setup.

My question is:

Do I need to manually configure NGINX for reverse proxy, or does ODK Central handle all of that automatically within the Docker environment?

I'm trying to ensure that HTTPS and routing to Enketo and other services work correctly without needing to edit NGINX configs myself.

Thanks for the clarification!

Hi @Getahun_Alemu ,

Welcome to the ODK Community! If you get a chance, please introduce yourself here.

The short answer: yes, if you install ODK Central with docker compose, it should automatically take care of the proxy through the bundled nginx. The only things you may need to modify are the ports in the .env file. You can read more about it in the documentation.

If you are trying to host multiple applications on the same VM with an already existing reverse proxy, it gets a bit more complicated but it is still doable. I would recommend against this unless you have some experience with hosting web services, DNS, and configuring reverse proxies.

Best of luck!

so i just have to change
DOMAIN=My.domain.com
SSL_TYPE=letsencrypt

If I'm going to use the default port?

Update: my biggest mistake was that I set only port 80 on my router config, not including port 443 ......I will do that on Monday...hoping it works out

Hi @Getahun_Alemu ,

Yes, that is correct. You need your domain to exist and resolve to the IP address where Central is hosted. ODK will automatically grab a certificate using LetsEncrypt and route all traffic from port 80 to port 443. You'll need to have both those ports open and accessible. Here is the relevant part of the documentation.