ODK-X Migration To New Server

Hello all,

I’m currently in the process of migrating ODK-X from our older server to a new one, and I’ve encountered some challenges along the way. Despite my efforts, I haven’t been able to locate any documentation specifically addressing this migration procedure.

To provide some context, I successfully set up ODK-X on the new server following the official documentation. I created a user and accessed the web interface without any issues. However, when attempting to migrate the data from the old server’s ODK-X database (Postgres) to the new server’s ODK-X database (Postgres) by creating and restoring the database dump, I encountered a problem. After completing the migration, I find myself unable to login to the Web-UI due to an “invalid username/password” error.

Given this situation, I am reaching out to seek assistance and guidance on how to proceed. Any insights or step-by-step instructions regarding the migration process would be greatly appreciated.

The username/password are stored in LDAP so it’s a separate issue. You should look at the logs to see what is happening to your request as it could be a db failure not allowing ODK-X sync-endpoint micro-service to come to a stable state ready to respond to requests. The web-ui is a separate micro-service that sends the request to the sync-endpoint. Check out the diagram for how the micro-services communicate: ODK-X Sync Endpoint — ODK-X Docs

EASIER APPROACH (if you do not care about audit log in db): Do a full sync down to an Android device so you have all the data and “reset app sever” on your new server using the phone will all the data from the old server. The history/audit log will not migrate, but the new server should have all the data if the user who downloaded and then pushed up the data is a “site admin”.

2 Likes

Hello,

Thank you for responding to the query. Yes, you are correct I don’t need an audit/history log just need the data. I will try the given method, will update on the topic.

Thanks.

Hello W_Brunette,

The issue was resolved using your method.
Thank you for your time.

2 Likes