Mastodon

A collection of 10 posts

10月 3, 2020

Sidekiqの状況をRedisから取得する

Zabbixにデータを送信したかったので調べてみた。 # 件数 完了 `redis-cli get stat:processed` 103399489 失敗 `redis-cli get stat:failed` 1143243 デッド `redis-cli zcard dead` 311 (redis-cli内から実行すると) => (integer) 311 リトライ `redis-cli zcard retry` 予定 `redis-cli zcard schedule` # キュー名一覧 `redis-cli

12月 20, 2019

Docker上で動いているMastodonをkubernetesクラスタに移動した作業メモ

本稿のスコープ外 Kubernetes(以下 k8s)クラスタの構築方法 Mastodonの初期設定 kustomizeのインストール ※ 多少読み替えて頂ければ、dockerではないMastodonも移行できるはず 前提条件 kubectlが実行可能なこと kustomize が使用可能なこと 以降元dockerコンテナのファイルを持ってこれること 作業手順 実は移行自体はそれほど難しくありません。 移行が必要なのは、PostgreSQLのDBだけです。redisのデータも移行した方がよいですが、 移行しなくてもその時点のSidekiqのジョブが失われる程度で、恐らく誰も気づきません。 ※ 管理者的には、Sidekiq画面のジョブ数がリセットされるのが残念かな?程度 kubernetesクラスタ上にPodを生成 Deployment定義をgithubに公開しています。 https://github.com/yakumo-saki/k8s-mastodon-deployment 私のインスタンスは、Glitch

12月 13, 2019

Mastodonの非Docker→Docker化

環境 元サーバー:非Dockerで稼働中のMastodonサーバー 新サーバー:Docker及びdocker-composeインストール済みのサーバー 作業PC:作業を行うPCです。SSHとSCPがあるとよいです。 移行の大枠 考え方としては、DBと .env.production ファイルを移行すればOK。 ただし、Redisのデータを移行しないとSidekiqのジョブのカウントが0に戻って少し悲しい。 移行手順 (元サーバー)から .env.production を取得する そのままなので詳細は割愛。新サーバーにコピーしておく。 (新サーバー)docker-compose.yml の準備 https://github.com/tootsuite/mastodon/

9月 27, 2018

MastodonのDBを外出ししてみたメモ

前提 Mastodon prodcution guideに従った非docker構成 Ubuntu 18.04LTS 構成 もともとのMastodonサーバー(Mastodonサーバーと呼ぶ) 移行先PostgreSQL DBサーバー(DBサーバーと呼ぶ) やったことの前提 私は複数のMastodonインスタンスを運営しており、ひとつはほぼ負荷がないテスト用で、もう一つは本番稼働しているものです。これらのPostgreSQLのDBを別のサーバー(2つのインスタンスで共有)にまとめてみようと思い今回の作業を行いました。 手順 本作業は、Mastodonのインスタンスを停止して行う必要がある。 外出側のPostgreSQLにユーザーとDBを作成 DBサーバーでの作業。 postgres ユーザーで実行する。 CREATE USER mastodon_user; # 複数インスタンスのDBを統合するならその分作る alter

9月 24, 2018

mastodon.py のメモ

背景 本来のドキュメントは https://mastodonpy.readthedocs.io/en/latest/index.html なんだけども、読んでも返り値とかはわかるけどもなんか書き方が感覚と違う なので、自分が使う分だけメモすることにした 認証不要で取得可能なものは、自分で直接HTTPリクエストを投げたほうが楽な気がする 使い方 pip install mastodon でインストール可能。 初期化 以下の感じで初期化する。 この例は、MastodonのWebから設定→開発を使って自分でクライアントを登録している場合の例。そうでないなら、クライアントの登録とアクセストークンの取得を行う必要がある。 from mastodon import Mastodon mastodon

9月 20, 2018

Mastodonの弱小インスタンスを運用するのに設定したこと

前提 環境 Ubuntu 18.04LTS Mastodon (バージョン2.4.3でスタート。随時正式版に追従) 構成 すべて自宅サーバー上のHyper-V仮想マシン (Ryzen 7 1700, 32GBメモリ, Windows Server 2016) Mastodonサーバー (3コア, 4GBメモリ) Ceph (2コア 4GB, 1コア 1.5GB * 2) Cephに関してはオーバースペック。ただの興味で動かしているだけです。以前はminioを使っていました。 将来的にクラウドに移行することを考慮して、

8月 9, 2018

zabbixでmastodonの監視をしてみた

環境 Ubuntu 18.04 mastodon 2.4.3 redis-cli 4 やったこと https://github.com/ken-washikita/zbx-templates-mstdn このセットをつかっただけ。 ハマりポイント redis-latency スクリプトが正常な値を返さなくて、値が取得できなかった。 対策 redis-latency.sh を以下のように書き換えた。 #!/bin/bash WORKFILE=/var/tmp/redis-latency SAVEFILE=/etc/

8月 8, 2018

Ubuntu 18.04LTSにMastodonを入れてみたメモ

なにこれ? 公式の Production Guide は Ubuntu Server 16.04LTS を前提に書かれているので 18.04LTSの際の差分をメモしておく Mastodon Production Guide https://github.com/tootsuite/documentation/blob/master/Running-Mastodon/Production-guide.md で、違いは? 実は一つだけ。 apt -y install imagemagick ffmpeg

8月 5, 2018

MastodonのURLは、一度立てた後は変更してはいけない

環境 Mastodon 2.3.3 やったこと 元々、mastodon.example.com で運用していた(アカウント名は hoge@example.com) (要するに、.env.production でWEB_DOMAIN を指定してアカウント名と実際マストドンにアクセスするURLを変えていた) いくつかのクライアントが、返信する際に、 hoge@mastodon.example.com と書いて返信して しまうようだったので、マストドン自体のURLも example.com でアクセスできるように、

6月 15, 2017

MastodonのWebSocket APIのメモ

はじめに Mastodonからストリームで取得する際のAPIに関するメモ。 基本形 wss://example.com/api/v1/streaming?access_token=xxxxxxxx?stream=TYPE access_token は事前に取得する必要がある。 TYPE一覧 なぜかドキュメントに載っていないものがあるが、以下の通り。 TYPE 内容 public 連合タイムライン public:local ローカルタイムライン user ホーム hashtag ハッシュタグ(連合)? hashtag: