原文地址:https://lala.im/7888.html,請支持原作者!該處僅作轉載。
今天突然需要搜一个之前自己发过的嘟文,结果发现之前部署的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