投稿

2021の投稿を表示しています

Mastodon(Docker環境)でElasticsearchを有効にした時のメモ

この記事は、2018/11/5 00:51にQrunchにて公開したエントリの 再公開版 となります。 内容は当時のままですので、古くなっているはずです。予めご了承ください。 基本的には以下の記事を参考にして作業した。 https://blog.theboss.tech/2018/04/01/elasticsearch-on-mastodon-docker/ 作業環境はこんな感じ。 EC2 t3.small Amazon Linux 2 Elasticsearchの有効化 docker-compose.yml のesサービスのコメントを解除する。 t3.smallくらいだとメモリが足りないので、ES_JAVA_OPTS は -Xms256M -Xmx256M くらいに落としたほうが安全かもしれない。 webサービス側に書かれている depends_on も忘れずに。 ボリュームマウントするディレクトリを作成。デフォルトで ./elasticsearch に作成されるが、所有者を 1000:1000 にしておく。 これでいけるわけがなく、一部は上記記事のトラブルシューティングと重なるのだが、がっつりハマってしまった。 vm.max_map_countの変更 このまま docker-compose up -d してもエラーが発生し、コンテナが正常に起動してくれなかった。 エラーログを残し忘れたが、vm.max_map_count の変更によって解決。 # 現在値を確認 $ sysctl -a | grep vm.max_map_count # ... 略 ... vm.max_map_count = 65530 # ... 略 ... # 十分な値を設定 $ sudo sysctl -w vm.max_map_count=262144 $ echo "vm.max_map_count=262144" | sudo tee -a /etc/sysctl.conf ファイルディスクリプタ上限の変更 これでいけると思っていたが、まだエラーが発生していた。ファイルディスクリプタの上限が低いとな……? es_1

Mastodon v3.2.0 アップデートメモ (S3+CloudFront環境)

この記事は、2020/8/2 10:54にQrunchにて公開したエントリ https://qrunch.net/@shibafu528/entries/38YisAjxltKKMs8y の 再公開版 となります。 内容は基本的に当時のままですので、古くなっているはずです。予めご了承ください。 基本的には下記のリリース手順に従うだけ……なのはいつもの事。 https://github.com/tootsuite/mastodon/releases/tag/v3.2.0 ただし、今回は メディアを別サーバに置いている場合はCORSの設定が必要 との記載あり。どうやらv3.2.0で新しくなった音声プレイヤーが正しく動作するために必要らしい。 If you are serving user-uploaded files from a differet domain/subdomain than the one the Mastodon web UI is served from, please keep in mind that you need to return CORS headers on those files, otherwise the new audio player will not work. Here is an example of nginx directives for returning the appropriate CORS headers: ```nginx add_header 'Access-Control-Allow-Origin' '*'; ``` 私が管理しているertona.netではメディアをS3にアップロードし、CloudFrontを経由して配信しているので、下記の対応が必要だった。 S3のCORS設定 S3 Management Consoleを開き、「アクセス権限」→「CORSの設定」を開く。 続いて、CORS構成エディターに下記のような感じで設定を投入する。とりあえずS3はこれだけでも動いてくれる。 詳しくは ドキュメント 参照。 <?xml version="1.0" encoding=