I have setup ODK Central on a certain domain (e.g. abc.com), and now want the same installation to work under another domain (e.g. xyz.com) [Please note that it is a migration, and not an effort to run both in parallel at the same time]. The server and IP address remains the same, so I just need to map the old IP address to the new sub-domain. What changes do I need to make in Central configuration? Is it just the change in .env file, to update to new URL? I assume I would have to do 'docker-compose build' as well afterwards? Would it hurt the existing forms data present in the Central? Any other changes needed?
I see a relevant link here (Can I change my domain name after Installing ODK Central?) but no confirmed answer. Did you try it and it worked fine @iamnarendrasingh?
Hey @Saad ,
I hope you are well and safe. I follow the below steps:
- Login into Cloud(Digital Ocean/AmazonEC2) and open .env file
- Open the registered domain DNS page with IP address information.
- Update .env file accordingly.
- Run the "docker-compose build" command and restart docker.
- In my case it took nearby 5-10 minutes to reflect on the new server.
Any data loss risk possible to happen?
I haven't verified recently, but everything in Enketo is bound to the domain, so I'm pretty sure public access links (and maybe even previews) will not work if you rebuild with a new domain.
It's possible that re-uploading a new version of each form with an incremented version number will fix it, but I haven't tested that workaround.
Worst case scenario, you'll need to go into the Redis DBs at
central_enketo_redis_cache_1 and manually replace the old domain name with the new. Not straightforward to do, but doable.
Try this on a backup first.
Hey, @Saad as @yanokwa mentioned only public access links and script which I created to download raw data from the server affected. And I rebuild them in my case I did not have any data loss on my side. One more thing, I am not using any other database server for maintaining the datasets.