無料
でマストドンインスタンスを運用するには
最適化(オミット)されたいくつかの機能!
1. メール承認
2. cld3
3. WebSocket
4. Amazon S3ではなく、PostgresDB内に
画像を書込
5. 外部のRedisサーバー機能を使う
Githubのコミットログ参照
https://github.com/yowasou/mastodon/commits/master
1. メール承認
・deviseの機能をメールオフにする。
・デフォルトだとMailGunというのを使ってたんだけどな
ぜかうまく動かなかった。
2. cld3
・cld3はHerokuでのセットアッ
プがうまくいかない。
・英語のトゥートを見えなく
したりする言語別フィルタリン
グ機能に使っている。いらんの
でコード削除。
3. WebSocket
・デフォルトだとNode.jsインスタンスを使っているが、もう
一つHerokuインスタンス立てて連携するのがだいぶめんどい
のでオミットする。
・無料枠だとメモリが足りないらしい。
・app/javascript/mastodon/stream.jsあたりをいじった。
・app/javascript/mastodon/features/
community_timeline/index.jsあたりもいじって、WebSocket
が繋がっていない場合にエラーを投げずに何もしないように
した。
4. Amazon S3ではなく、PostgresDB内に画像を書込
・Paperclip::Attachment.default_options[:storage] に自前のクラ
スを放り込むと、自前のクラスでファイル保存、URL参照を行ってく
れる
・新しくDatabasesystemクラスを作成。PostgresDB内にバイナリ型で
画像データを保存
・URL参照時にDBからpublicフォルダへ書き込んでから参照するため
動作が遅い
・これどういう意味?
5. 外部のRedis Server機能を使う
・HerokuプラグインのRedisはクレジットカード情報が必要だから使
いたくない。
・redislabsの無料枠で十分賄える感じ。
・たぶん何かで使ってる。
yowatodonができたぞ!
https://yowatodon.herokuapp.com
課題
・インスタンス起動直後の読み込みはタイムアウトしてしまう。
無料だから仕方ないね。
・あまりマストドンのユーザー数自体多くないので、特別自分のイン
スタンスを立ち上げる必要性がない。
・テスト流してない

無料でマストドンインスタンスを運用するには