How to install Elasticsearch on Mastodon?
-
@shanelord01 Cloudron is just built on top of Ubuntu. We don't do anything to change visibility of network interfaces . All this to say "Cloudron does not recognize multiple NIC" is actually "Linux does recognize multiple NIC" . The issue is either in your networking setup or VM setup or VPS setup . Just giving you some ideas to debug
-
@girish My VM host (when I SSH into it) is showing the eth1 interface correctly via "ip link show"
When I use the Cloudron Terminal under my Mastodon app, it does not show the eth1 interface, only loopback and eth0.
So it is not my host.
Outcome is, Cloudron can't see the VLAN network on Linode - at least nothing is showing in the UI, and I am unable to use ping in the Cloudron terminal for some reason.
I'll keep testing.
-
@shanelord01 ah, I understood what you are saying now! The Cloudron Web Terminal is a terminal into the container. The container's network interfaces are completely different from those on the host. So, what you are seeing ins expected.
If I understand correctly now: you put your ES and Cloudron on the same VLAN. You are able to ping the ES from Cloudron host machine but unable to do so from the web terminal. Correct?
-
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.