I have a problem with my Seafile Server and Elasticsearch because I have upgraded it from version 8 to 9. Because of this I think we know all that elasticsearch is now operating in a seperate docker-image. I followed the instructions from the Seafile-Manual site during the upgrade proccess. The Seafile-Server works fine with no errors or problems, but Elasticsearch don´t run correctly. When I search the Elasticsearch image over “docker ps” I can see the image and it´s running. But when I try to Update the Search index with “./pro/pro.py search --update” in my Seafile main directory I get an error message:
[ERROR] seafes:158 start_index_local: Index process init error: RequestError(400, ‘action_request_validation_exception’, ‘Validation Failed: 1: mapping type is missing;’).
When I try to search a file in the webbrowser it shows me only a loading circle.
Maybe there are some other error logs, where we can see the error more detailed?
I could imagine that I have to create an index with 7.x compatible mappings (under the Seafile Manual Site → Upgrade Seafile Server → Upgrade notes for 9.0.x → Method two,reindex the existing data)
This step I didn´t do until now because I don´t know how I can do this. (I’m more of a Windows expert )
I tryed to search the error on google but I found nothing.
My entry for elasticsearch in seafevents.conf:
[INDEX FILES]
interval = 1m
external_es_server = true
es_host = 127.0.0.1 (runs on the same server as seafile)
es_port = 9200
I searched for that docker-compose.yml over mlocate from my main directory, but I can´t find any file named so. Are you sure that this file is needed? Or in which directory I could find this file maybe?
Yes you´re right I´m starting my containers from systemd automatically (there´s another container for OnlyOffice). I didn´t follow the manual “Deploy Seafile pro with docker” but the manual “Installation of Seafile Server Professional Edition”.
Maybe that´s why I haven´t found any docker-compose directories or files. Because Docker-compose isn´t a requirement for this installation.
It shows me the IP 172.17.0.2. When I set this IP in my seafevents.conf and clear the index with “./pro/pro.py search --clear” then seafile can´t establish any connection to the elasticsearch server. With 127.0.0.1 the results looks much better… And when I try to search files, I think it´s clear: It´s not possible.
This gave me the IP 172.20.0.3 and curl -X GET 172.20.0.3:9200 also returns some stuff. If I am using a docker installation for seafile, do I need to specify this IP in my config files to avoid getting a communication error with elasticsearch?
Problem is solved since yesterday. I installed Seafile 9.0.8 and reinstalled Docker with this manual entry “Upgrade Seafile Server” → “Upgrade notes for 9.0.x”
Under point: “Update Elasticsearch (pro edition only)”
Please read the entry too:
“Seafile Professional Setup on Linux” → “File Search”