Migrating only data from v2.3.5 to v3.1

I have set up a new indico v3.1 on Ubuntu/nginx server, which is working fine. I am now told that there is a production server from which I need to move the all old event data. I checked the old server. It is a Centos 7/Apachi with posgres 9.x. As you can see my situation is a bit peculiar and is not covered on the migration/installation guide.
My plan:

  1. move the /opt/indico/archives/event directory to the new server
  2. take dump of the old database and restore it to the new server.
  3. Maybe the next step is to run the indico db upgrade?

Any idea, if this would work?
Thank you in advance for any suggestions,

This is in fact exactly what we suggest in the 2.x to 3.x upgrade guide…

https://docs.getindico.io/en/stable/installation/upgrade/#upgrading-from-2-x-to-3-x

1 Like

Thank you for the quick reply. Yes, I saw that guide. My problem is that I have already made a lot of changes to my new deployment and do not want to run the indico setup wizard again. My question here is by only dropping the new database and restoring from the old DB then moving the event folder work?
I just want to know if there is any proven way, I will have to try it anyway.

Thanks,

If you don’t use the wizard you need to make sure the required directories exist, and you probably want to also run indico setup create-symlinks and indico setup create-logging-config (this is usualyl done by the setup wizard).

You can check what it does near the bottom of this file:

Following the above steps, I was able to migrate the data. But we discoved that the old registration forms are not opening on the new installation. I figured your suggestion to run indico setup create-symlinks and indico setup create-logging-config should solve this problem. Is my assumption right?
The other question is what is which directory do I give for the target_dir parameter?
Thanks in advance for the great support!

indico setup create-logging-config ~/etc
indico setup create-symlinks ~/web

1 Like

running these commands did not solve my problem.


vs

If there is anything I can do to solve this problem, I would appreciate it. What is left for me is to rebuild the server again.
Thanks

Please check the browser console for errors. Also check your webserver logfile for errors.

Yes, there is this error in my browser… but note that I have moved everything on the event folder.

Failed to load template: http://indico-t.cepal.org/dist/mod_assets/_/_/_/modules/events/registration/client/js/form/tpls/registrationform.tpl.html
at /dist/js/module_events.registration.40c273f1.bundle.js:6219:17
at /dist/js/module_events.registration.40c273f1.bundle.js:11164:11
at wrappedErrback (/dist/js/module_events.registration.40c273f1.bundle.js:8632:57)
at wrappedErrback (/dist/js/module_events.registration.40c273f1.bundle.js:8632:57)
at /dist/js/module_events.registration.40c273f1.bundle.js:8744:53
at Object.$eval (/dist/js/module_events.registration.40c273f1.bundle.js:10040:28)
at Object.$digest (/dist/js/module_events.registration.40c273f1.bundle.js:9903:23)
at Object.$apply (/dist/js/module_events.registration.40c273f1.bundle.js:10126:24)
at done (/dist/js/module_events.registration.40c273f1.bundle.js:11379:45)
at completeRequest (/dist/js/module_events.registration.40c273f1.bundle.js:11563:7)
 /dist/js/module_events.registration.40c273f1.bundle.js:7463

Look at why the request fails (404 etc?). Then check the webserver logs if there’s something related…


apparently, the server is blocking this HTTP request requiring https. any fix?

Most likely indico thinks you are using http even though you are actually using https. Do you have a reverse proxy in front of Indico? If yes you must set USE_PROXY = True in indico.conf and make sure it sets the proper X headers - see here in the docs

Yes, I have a reverse proxy and I had set the USE_PROXY = True as in below

image

anything else I need to do?

Yes, make sure your reverse proxy sets the headers specified in the docs so Indico knows it’s accessed via HTTPS. Also make sure the BASE_URL is correct and with https.

With the following header forwarding set in the reverse proxy, indico fails to load

      location /{ proxy_pass http://be_indico-t.cepal.org;
       proxy_set_header X-Real-IP  $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_set_header X-Forwarded-Proto https;
       proxy_set_header X-Forwarded-Port 443;
       proxy_set_header Host $host;
   }

image

There we go. This error is what I needed to tell you exactly what’s wrong :wink:

Fix your BASE_URL in indico.conf, restart uwsgi, and it’ll work.

Thanks much! this solved the problem.