Elastic Stack on Raspberry Pi

Hi All,

I have been working on a project to make it possible for people to deploy an Elastic Stack on a Raspberry Pi.

Current versions

  • 7.10.0
  • 7.9.3

At current I have made this Docker Swarm based. This has various advantages, namely shared Secrets which assists with the deployment of Crypt.

An entire 3 Elasticsearch Node and 1 Kibana Node stack with full encryption can now be deployed by running one script.

My repo for this can be found here: https://github.com/jamesgarside/elastic-stack-arm

I have also been working on a few other repositories for other Elastic services which I have modified to run on ARM. They are currently Docker based but hopefully today I will add a script to each of the repositories which will install the service using the package manager. This will mitigate the need for Docker if that be your desire.

Kibana: https://github.com/jamesgarside/kibana-arm

Logstash: https://github.com/jamesgarside/logstash-arm

Technical bit

Right, I’ll go through what was modified.

  • Kibana

Kibana was actually pretty simple. The version of Node.Js which is packaged in the Official release of Kibana if for AMD64 not ARM, switching this out for an ARM version did the trick at getting Kibana to run.

For the Docker image I took the Official Dockerfile and just modified it to pull in an ARM version of Node as well as an ARM version of dumb-init.

  • Logstash

Logstash was similar to Kibana but instead ships with an AMD64 version of Java, switching that out for an ARM version did the trick.

For the Docker image I again took the Official Dockerfile and switched out the Java version within.

The Dockerfile also copies in some files which are used when running the container. One of these files was called env2yml which is a binary used to read in Environment Variables which are then used as Logstash config. Of course this binary was compiled for AMD64 so I recompiled it for ARM and included that within the container instead.

Hopefully this is helpful for some of you.
I will try to continue to support these projects when updates are released. I use these projects personally so this shouldn’t be an issue.
Not sure how feasible this will be with 8.0 but I will look into it.

If anyone needs any support, please feel free to contact me.
Also, if anyone has any improvements please submit a pull request.

James :slight_smile:

Repositories

  • Elastic Stack

Deploy a fully encrypted Elastic Stack with one script.

  • Kibana

Contains info about running Kibana on ARM.

  • Logstash

Contains info about running Logstash on ARM.

4 Likes