How to install Elasticsearch on Mastodon?
-
I tried this out of curiosity.
I installed Cloudron and attached a VLAN. Then, from a web terminal of an app
root@3270ef46-f6cc-463a-bff2-33062223f536:/app/code# ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 23: eth0@if24: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default link/ether 02:42:ac:12:13:23 brd ff:ff:ff:ff:ff:ff link-netnsid 0 inet 172.18.19.35/16 brd 172.18.255.255 scope global eth0 valid_lft forever preferred_lft forever inet6 fd00:c107:d509::8/64 scope global nodad valid_lft forever preferred_lft forever inet6 fe80::42:acff:fe12:1323/64 scope link valid_lft forever preferred_lft forever
I ran
nc -l 3000
on another server which is also in same LAN. Then, I can connect from app terminal:root@3270ef46-f6cc-463a-bff2-33062223f536:/app/code# telnet 192.0.2.3 3000 Trying 192.0.2.3... Connected to 192.0.2.3. Escape character is '^]'.
-
Thanks - I've done some further testing. You are right - it does work.
Seems the Debian host I was using on Linode (using "Secure Your Server" image) was blocking port 9200 by default so had to adjust iptables to allow external access. Had a hard time tracking that down.
Added:
iptables -I INPUT -p tcp --dport 9200 --syn -j ACCEPT
then saved it. Worked immediately.
-
Can't we just use a Cloudron LAMP stack, install it there and expose it only to the internal Cloudron network for use with Mastodon, Nextcloud, anything?
As with memory requirements: the instructions referenced above -> https://blog.thms.uk/2023/09/mastodon-elasticsearch , point out for smaller purposes = 4GB RAM ...
Cheers -
@bmann it's not in the immediate roadmap. The last I checked the apps couldn't agree on which ES version to use, so it wasn't easy to share a single ES across instances either.
-
@girish just in case you've forgotten
@jdaviescoates said in How to install Elasticsearch on Mastodon?:
I note that the Mastodon docs do now say:
Mastodon is tested with ElasticSearch version 7. It should support OpenSearch, as well as ElectisSearch versions 6 and 8, but those setups are not officially supported.
So sounds to me like the
@girish said in How to install Elasticsearch on Mastodon?:
apps couldn't agree on which ES version to use
Might not be much of an issue in practice.
It'd be great to have an ElasticSearch Addon added to Cloudron.
-
@bmann said in How to install Elasticsearch on Mastodon?:
If Cloudron isn’t going to work on it,
They already said it's not on the immediate roadmap.
so I can figure out how to package it manually.
Everyone would appreciate your efforts in figuring out how to package it manually and sharing that! Thank you!
-
@scooke said in How to install Elasticsearch on Mastodon?:
They already said it's not on the immediate roadmap.
Yeah, but they have also previously sais somewhere on here the plan is to make an addon, plus @girish liked my post above about different versions perhaps not really being an issue
-
This is still not in our immediate roadmap. I think easiest fix is to just elastic search in a separate VPS and connect mastodon to it, no?
-
Separate VPS == means me running an entire other operating system, maintaining it, and updating it. So costs and time. I’m running Cloudron precisely so I don’t have to do this.
It’s totally fine that you only support some apps — but when it includes core functionality for an app this is the sort of thing people are going to want.
Ok, I’ll start a thread about crowdfunding ElasticSearch packaging for a custom Cloudron docker image.
-
-
The new thread is for funding packaging and support https://forum.cloudron.io/topic/11178/custom-cloudron-image-for-elasticsearch
I’m no good with Docker, but what I can do is pool funds and rally people to get it done.