Elastic Search Error 500

Infos:

  • Used Zammad version: latest
  • Used Zammad installation type: docker w/docker compose standard
  • Operating system: Debian
  • Browser + version: all

Expected behavior:

Elastic search searching working as expected

Actual behavior:

Can not preform searches of tickets, clients, reporting not working. Receiving Error 500

Steps to reproduce the behavior:

System was working fine one day (for over a year), not the next. Nothing was changed or altered.
All containers seem to be working fine, only logs from elastic search show errors.

Blockquote
Cluster health status changed from [YELLOW] to [GREEN] (reason: [shards started [[.ds-ilm-history-7-2025.11.15-000001][0]]]). | @timestamp=2025-11-15T17:51:47.514Z log.level=INFO current.health=GREEN previous.health=YELLOW reason=shards started [[.ds-ilm-history-7-2025.11.15-000001][0]] ecs.version=1.2.0 service.name=ES_ECS event.dataset=elasticsearch.server process.thread.name=elasticsearch[c1ea3a2cf936][masterService#updateTask][T#1] log.logger=org.elasticsearch.cluster.routing.allocation.AllocationService elasticsearch.cluster.uuid=qNOcCIx_TTurP_IhlQjmMg elasticsearch.node.id=Ttd6JAHMT4G8x1rGO_KRMA elasticsearch.node.name=c1ea3a2cf936 elasticsearch.cluster.name=docker-cluster
received plaintext http traffic on an https channel, closing connection Netty4HttpChannel{localAddress=/172.18.0.2:9200, remoteAddress=/172.18.0.9:59034} | @timestamp=2025-11-15T17:51:58.794Z log.level=WARN ecs.version=1.2.0 service.name=ES_ECS event.dataset=elasticsearch.server process.thread.name=elasticsearch[c1ea3a2cf936][transport_worker][T#2] log.logger=org.elasticsearch.http.netty4.Netty4HttpServerTransport elasticsearch.cluster.uuid=qNOcCIx_TTurP_IhlQjmMg elasticsearch.node.id=Ttd6JAHMT4G8x1rGO_KRMA elasticsearch.node.name=c1ea3a2cf936 elasticsearch.cluster.name=docker-cluster
received plaintext http traffic on an https channel, closing connection Netty4HttpChannel{localAddress=/172.18.0.2:9200, remoteAddress=/172.18.0.9:59036} | @timestamp=2025-11-15T17:51:58.795Z log.level=WARN ecs.version=1.2.0 service.name=ES_ECS event.dataset=elasticsearch.server process.thread.name=elasticsearch[c1ea3a2cf936][transport_worker][T#3] log.logger=org.elasticsearch.http.netty4.Netty4HttpServerTransport elasticsearch.cluster.uuid=qNOcCIx_TTurP_IhlQjmMg elasticsearch.node.id=Ttd6JAHMT4G8x1rGO_KRMA elasticsearch.node.name=c1ea3a2cf936 elasticsearch.cluster.name=docker-cluster

Did you restart the elastic service?

@DD4PK I did restart the service. I noticed I can not use the Postresql 17.6-alpine database in my docker compose, it states it’s incompatible, so I reverted back to -15-alpine. It’s odd to me because it was working fine for over a year then the next day problems.

Is there a database migration script I can run to try to get my stack to the latest development version? Maybe I should start there? I’m thinking an update did not go as planned.

I just did a fresh docker compose install on my test server and I’m receiving error(s)… is it possible to just run this stack without elastic search to eliminate the error?

You’re talking about latest and no change… but I’d assume that you did update Zammad over the time? Did you update the compose files etc? There where changes that also affect Elasticsearch if I remember correctly.

But that’s just a guess and hard to tell without knowing your exact versions and what exactly happened before this error occured.

But that’s just a guess and hard to tell without knowing your exact versions and what exactly happened before this error occured.

I just did a fresh install with the same result…

Once more… what… version…
Latest is not a version at all.

I used the latest Zammad docker compose file here.

I had the same problem with the official zammad docker release, had it running for some weeks with portainer and eventually started crashing shortly after reboot and can’t be brought back simply. I ended up installing via apt and fine tuning everything, ended up doing my own ansible for installing without docker.

@aficiomaquinas appreciate your insight. As I mentioned it was fine for a year then errors. I tried to deploy following the official guide without elasticsearch enabled but this hobbles the system. This renders reporting and client searches unusable…

1 Like

In my case it seemed to be elasticsearch too, but i did not bother into trying to repair it. A docker installation is supposed to be deterministic, it’s against the purpose of it to tune it. I’m a lazy dev. I prefer to implement ready made things that just work without touching anything and making sure they remain updated. I’ve faced similar issues on big complex apps with mulitple layers. In the end what worked best for me was guaranteeing that my install goes through with everything in a single shot. I spent some weeks figuring it out with AI over the zammad docs, and it ended up being an ansible playbook to be run on a fresh ubuntu. Zammad has very good backups so, I guess it’s better thinking on the long term for my use case to stay away from Docker. It’s easier to mantain and to scale than Docker for me, at least in this use case. I guess my volume was able to drive it in a few weeks where yours may have taken more time to get there. Can you share your server stats? I was using an 8gb 4core vps, the only communication channel was email and it had some 20-50gb in storage? perhaps more? can’t remember honestly.

@mgruner Maybe you have some ideas?

If this is the actual error, then you could try setting the environment variable xpack.security.enabled: 'false' for the zammad-elasticsearch service, just as it is specified in the docker-compose.yml. Also, check your other ELASTICSEARCH_ variables. The schema should not specify HTTPS. You should not need to set any of these variables if you use the internal ES service, the defaults shoud match correctly.

This might be caused by a recent switch away from bitnami images, which causes HTTPS to be unavailable for communication with the stack-internal ES service.

I set the variables but the error persists and the reporting and searching options are not operational. If there a way to eliminate ES altogether and still have those functions work or it’s ES or nothing?

Let me cite the documentation

Zammad uses Elasticsearch to

  1. make the search faster
  2. support advanced features like reports
  3. search for content of email attachments

Without ES you’ll have a super basic search function. That’s about it.

So, just like you, I just installed a fresh compose for Zammad.

It is working absolutely fine for me.
The only mayor difference I did (from experience) was to raise vm.max_map_count.
That requirement is not mentioned in neither docker based installation method, but manual ES installation page only: Set Up Elasticsearch — Zammad System Documentation documentation

-HOWEVER- Elasticsearch usually complains about this setting being too in its log.

As of now the current Zammad version of the compose is 6.5.2-22. The compose version is 14.1.2. I then switched to the latest available Zammad image 6.5.2-38. Still, no issues.

This is the docker stacks version:

root@swarm-1:/opt/zammad-docker-compose# docker version
Client: Docker Engine - Community
 Version:           28.3.2
 API version:       1.51
 Go version:        go1.24.5
 Git commit:        578ccf6
 Built:             Wed Jul  9 16:13:55 2025
 OS/Arch:           linux/amd64
 Context:           default

Server: Docker Engine - Community
 Engine:
  Version:          28.3.2
  API version:      1.51 (minimum version 1.24)
  Go version:       go1.24.5
  Git commit:       e77ff99
  Built:            Wed Jul  9 16:13:55 2025
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.7.27
  GitCommit:        05044ec0a9a75232cad458027ca83437aae3f4da
 runc:
  Version:          1.2.5
  GitCommit:        v1.2.5-0-g59923ef
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

I then upgraded my docker version to v29+ (which can cause some trouble right now) and re-checked. It just works fine for me, it’s either something specific to your data, configuration or machine. So without further, deeper input nobody will be able to help you.

I want to thank everyone that assisted me. I was able to resolve my issue. I was using an older stack and had not realized there were ES env variables added I did not have in my stack.

I went line by line and added the ones missing and ran docker exec zammad-git-zammad-railsserver-1 /docker-entrypoint.sh bundle exec rake zammad:searchindex:rebuild and it’s working now.

2 Likes

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.