なんか部屋寒いね?
主に、Fediverseへの関心に基づいた投稿を行うアカウントです。DTP・印刷に関する話をしたり、同人の話をしたり、カレーをブーストしたりします。
Mastodonのcollaborator(開発者の一員)です。また、独自機能を盛り込んだFedibirdを管理・開発しています!
Mastodonサーバ『fedibird.com』の管理者アカウントでもあります。ご連絡は当アカウントへ、サーバインフォメーションについては https://fedibird.com/about/more と @info を参照してください。
Twitterに、EUのMastodonのこと書いてきたよ。
https://twitter.com/noellabo/status/1519763354151440384
----
EUがマストドンサーバを開設したニュースがでています。動画配信用にPeerTubeも設置しています。
これ、何か人を集めてプラットフォームにしようと企んでいるように見えたかもしれませんが、そういうことではありません。
一般のユーザーは登録できない、公式発表・情報発信を担うサーバの開設です。
この仕組みのメリットは、情報発信する組織や個人が、自分で公式のコンテンツを発信できるということ、
プラットフォームの顔色を窺うのではなく、自分自身の責任と権限でコンテンツを保有し、情報発信できるということです。
政府・行政機関がマストドンを自分で運用するのは当然の選択と言えます。
我々一般のユーザー・あるいは国民は、それぞれ自分のアカウントを自由な場所に作成し、そこから公共サービスを提供しているサーバのサービスをフォローしたり、リツイートされてきたものをみる形で利用します。
Twitterがつける公式マークではなく、本物の発信元であるかを確認すれば良いのです。
@BananaGiko_cle 日本人、TwitterにしろMastodonにしろ、面白がってメッチャ使って遊ぶので、それは相当貢献してると思うw
開発面でもかなり貢献してるしね。
Eugenさんは、見た目を大きくいじったり、過去との連続性のない変更を慎重に避けて、安定した信頼できる基盤としてのプロダクトマネジメントをしているよ、という実績を作ったよね。
特定サービスへの依存を避け、ユーザーのプライバシーなど権利を守り、広告を挟んだりユーザーデータを解析せず、などなどポリシーとしても、評価に値するものであるはず。
また、WebUIですべてカバーできるだけの能力を持ちつつ、iOSとAndroid用の公式アプリも整備した。
一番真剣に、Twitterの代替になれるよう取り組んでいて、マニアではなく全体を見ている。
Mastodonを選ぶ理由はいっぱいあって、そりゃそうだよね、と思うよ。
Twitterの暗号化メッセージ機能についてのヘルプページがあるんだけど、最高に面白いね。高度な皮肉かと思ってしまうw
https://help.twitter.com/ja/using-twitter/encrypted-messages
※ 英語版に存在しないので、まあそういうことかなと
@bvtsang まあ優先順位は低くなるよね。
Twitterも2013年頃にはちょっとやってて隠し機能として実験してたみたいだし、Mastodonも無効化してあるけど内部実装はある。
そのうち実装されるんじゃないかなぁ。
@mitarashi3799 まあ安くしたいわけじゃないんでむしろBoothでBoostしようかなと思いますがw、お手間どうですか? 落ち着いてから発送で全然かまいません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
レプリケーションも、つまるところpg_basebackupで一気にコピーしてしまうだけなので、むしろdump, restoreより楽まであるよ
データベースでかくなると、pg_basebackupが終わる前にどんどん新しい更新が溜まっていって、あとからではWAL転送が追いつかなくなってしまうことがあるので、同時にWALもストリーミング受信して、完了時に追いついているようにする。(そういうオプションがある)
完了したら直ちに起動したいので、そこまで一気に実行するようにコマンド書く。
レプリケーションはじまってしまえば、あとは落ち着いていつでも元をとめて、新環境をpromoteできる。
元のサーバでやること
・外からつながるようにインタフェースをlistenする(そのままだとlocalhostしかlistenしてない)
・replication_user作る(名前は別になんでもいい)
・pg_hba.confで、新鯖からのreplication_userでの接続を許可する
・その他のレプリケーション設定パラメータを足す(wal_level = replicaなど)
・ファイアーウォールでも接続許可する
新規のサーバでやること
・一旦データベース初期設定して、整えとく。停止状態。
・データは消しちゃう(rm -fr /var/lib/postgresql/14/main みたいな)
・元サーバのpgtune.confなど、パラメータをある程度一致させとく(コネクション数とか元と違うと蹴られたり)
・もちろんpg_hba.confなどセキュリティ設定は済ませておく
・とりあえずpsqlコマンドでreplication_userで繋がるか事前にテスト
・pg_basebackupで一気に持ってくる
・起動
・レプリケーションできてることを確認する
・(元のサーバに新規書き込みするのやめて、転送しきったら元DB止める)
・promoteする(昇格してこっちが本体になる)
・新規DBサーバへの読み書きを開始する
pg_basebackupはこんな感じ。
# sudo -u postgres pg_basebackup -h xxx.xxx.xxx.xxx -p 5432 -D /var/lib/postgresql/14/main/ -U replication_user -R -P --checkpoint=fast -X stream -v && pg_ctlcluster 14 main start
xxx.xxx.xxx.xxxは元サーバのIPアドレス。ポートも指定してるけど、5432ならいらないかな。
rootになって、pg_basebackupから、完了後のstartまで一気にやる。これはUbuntu / Debian系ね。
@AureoleArk Mastodonはドキュメントに案内があってpgbouncer使ってる人が多いんだけど、
こいつもpauseして接続先切り替えてresumeするようにすると具合がいい。
Mastodonのプロセスからコネクション維持されててちょっと応答が遅延したぐらいにしか見えないので、擬似的にダウンタイムゼロにみえる。
listen_addresses = 'xxx.xxx.xxx.xxx,localhost'
リモートサーバじゃなくて、元サーバのインタフェースに振ってあるアドレス。面倒なら
listen_addresses = '*'
でいい。
replication_userつくる。パスワードつける。
CREATE ROLE replication_user LOGIN REPLICATION PASSWORD 'xxxxxxxxx';
pg_hba.confこんな感じ。
host replication replication_user xxx.xxx.xxx.xxx/32 md5
replication.confとか作ってconf.d/ においとくといい。
synchronous_commit = off
wal_level = replica
max_wal_senders = 3
ファイアーウォールはたとえばこう。
ufw allow from xxx.xxx.xxx.xxx to any port 5432 proto tcp
pg_lsclusterしたらもうmainがいたりするけど、いたら止める。
sudo pg_ctlcluster 14 main stop
いないなら作る。
sudo pg_createcluster 14 main
データ消す。
sudo rm -fr /var/lib/postgresql/14/main
pg_hba.conとかconf.d/に置く設定は割愛。あ、これは書いとくか。
hot_standby = on
レプリカがホットスタンバイで動くようにする設定。
(中略)
元DBで select * from pg_stat_replication; すると、実行中のレプリケーション接続がリストされるので、これで状況みる。
昇格はこう。
sudo pg_ctlcluster 14 main promote
レプリケーションやめて、こっちが本体になる。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
@AlLyn0a 利用者が多いのもあるんですが、tootleの通知サーバが弱いのは多くのサーバ管理者の共通認識かな。通知のジョブが、ジョブ管理のマネージャー(Sidekiq)の管理画面に大量にエラーでひっかかってるのをみんなみてるんでw
変な話、通知は違うアプリでみて、操作はtootle、とかするしかないかなって感じです……。
もうこれLaravel覚えるしかないな、ってなってる。
まあOctober CMS使ってるサーバも持ってて、いずれにせよやった方がいいのだ。