Mastodon配置全文搜索(适用于Docker安装)

今天突然需要搜一个之前自己发过的嘟文,结果发现之前部署的Mastodon没有配置全文搜索,搜索功能无法使用。

之前也是比较懒,觉得搜索功能根本就用不上,而且es还吃内存,就没配置,结果今天就遇到这档子事。。

幸好这台机器内存有2g,除去mastodon自身大概用了1g,还有很多空闲出来,所以这里就记录下配置过程。

下面的配置是在这篇文章的基础上进行:

Docker快速部署Mastodon

编辑compose:

cd /opt/mastodon/ && nano docker-compose.yml

加入下面的配置:

  mastodon-es:
image: docker.elastic.co/elasticsearch/elasticsearch-oss:6.8.10
environment:
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- "cluster.name=es-mastodon"
- "discovery.type=single-node"
- "bootstrap.memory_lock=true"
healthcheck:
test: ["CMD-SHELL", "curl --silent --fail localhost:9200/_cluster/health || exit 1"]
volumes:
- ./elasticsearch:/usr/share/elasticsearch/data
ulimits:
memlock:
soft: -1
hard: -1
restart: unless-stopped

[重要]把elasticsearch目录的用户和组改为1000,如果没有这个目录就新建:

mkdir elasticsearch
chown -R 1000:1000 elasticsearch

启动elasticsearch容器:

docker-compose up -d

确保elasticsearch容器是正常运行的状态:

接下来编辑.env配置文件:

nano .env.production

加入如下配置:

ES_ENABLED=true
ES_HOST=mastodon-es # 这里的host对应compose内的services名
ES_PORT=9200

使env的配置生效:

docker-compose up -d

最后创建索引即可:

docker-compose run --rm mastodon-web bin/tootctl search deploy
全部为采集文章,文中的 联系方式 均不是 本人 的!

发表评论