Mastodonのカスタム方法

標準

Mastodonのインスタンスを構築する方法は検索すれば山ほどヒットするので、その分資料が少ないインスタンスのカスタム方法について今日は説明します。インスタンスの構築する方法についての記事はや「Mastodon(マストドン)のインスタンスをCentOS7で立ててみる」、「CentOS7でmastodonを建てる」辺りを見れば完璧ではないかなと思います。

追記:以下のサイトもとても参考になります。

ちなみに私が運営するmastodonのインスタンスは haruhi-mstdn.club ですので、よろしくお願いします。

表示される言葉のカスタム

config/locales に入っている大量の言語ファイルをカスタムしていくことで新たな言語(語録集)や表示される文言を簡単に変えることが出来ます。

---
ja:
  about:
    about_mastodon: Mastodon は<em>自由でオープンソース</em>なソーシャルネットワークです。商用プラットフォームの代替となる<em>分散型</em>を採用し、あなたのやりとりが一つの会社によって独占されるのを防ぎます。信頼できるインスタンスを選択してください — どのインスタンスを選んでも、誰とでもやりとりすることができます。 だれでも自分の Mastodon インスタンスを作ることができ、シームレスに<em>ソーシャルネットワーク</em>に参加できます。
    about_this: ご利用前にお読みください
    apps: アプリ
    business_email: 'メールアドレス:'
    closed_registrations: 現在このインスタンスでの新規登録は受け付けていません。
    contact: 連絡先
    description_headline: "%{domain} とは?"
    domain_count_after: 個のインスタンス
    domain_count_before: 接続中
    features:
      api: アプリやその他サービスにAPIを公開
      blocks: 豊富なブロックやミュート機能
      characters: 1つの投稿は500文字まで利用可能
      chronology: 時系列順のタイムライン
      ethics: 広告もトラッキングもありません
      gifv: GIFVや短い動画にも対応
      privacy: 投稿ごとに公開範囲を細かく設定可能
      public: 公開タイムライン
    features_headline: Mastodon の特徴
    get_started: 参加する
    links: リンク
    other_instances: 他のインスタンス
    source_code: ソースコード
    status_count_after: トゥート
    status_count_before: トゥート数
    terms: プライバシーポリシー
    user_count_after: 人
    user_count_before: ユーザー数
(以下略)

画像のカスタム

うちのインスタンスはアニメ愛好家向けだからゾウさんなんか表示しないで自分の推しキャラを出したい!という方におすすめです。Mastodonで使われる画像は app/assets/images app/javascript/images に格納されています。ここに代わりの画像を置いてあげることで任意の画像を背景やトップページのゾウさんの代わりに表示させることが出来ます。最終的には以下のような感じになれば正解です。

CSSとJavaScriptのカスタム

これも同じように app/assets/stylesheets app/javascript/stylesapp/assets/javascripts app/javascript/mastodon に格納されている.scssファイルと.jsファイルをを編集することで変更することが出来ます。私の場合、背景が左揃いになっているのが気に食わなかったので、中央揃い(background-position:50% 50%;)にするなどのカスタムをしました。

最後に反映させよう

画像、CSS、JavaScriptファイルは動的なサイトにするため(?)に圧縮されています。この圧縮過程を飛ばしてしまうと反映はいつまで経ってもされないので忘れないようにします。
まずは実際にMastodonで使えるようにメディアファイル集assetsを作成します。コマンドラインに以下のように打ち込みます。

//assetsフォルダを全消去したい場合。全てをやり直したい人向け。
# docker-compose run --rm web rails assets:clobber

//assetsフォルダにある昔のものを消去したい場合。普段はこっちで十分かな。
# docker-compose run --rm web rails assets:clean

//上の2つのコマンドのうちどちらかを実行したら、メディアファイル群を事前コンパイルする。
# docker-compose run --rm web rails assets:precompile

//mastodon全体を再ビルド
# docker-compose build

//mastodonを再起動
# docker-compose restart

追記(2017/07/06):Mastodonをスタートアップスクリプトで立ち上げた場合はdockerを使わないのでこちらのご指摘の通りやってみてください。

これで色々とカスタムの幅が広がったので、自分だけのインスタンスを発展させていってください。それでは。

追記(2017/04/28):当ブログの記事を見て、「出来なかった!」「困った!」といった問題があればコメントをお願いします。

追記(2017/06/18):Mastodon 1.4.1からディレクトリ構造に色々と変更が加わった、という旨のご報告をいただきましたので最新の情報に更新しました。ご報告ありがとうございました。

投稿者プロフィール

yoshipc
コンピューター関連を得意としています。PHPが専門です(尚、技量はお察し)。このブログとMastodonのインスタンスを運営・管理しています。よろしくお願いいたします。

Mastodonのカスタム方法」への12件のフィードバック

  1. allforbigfire

    「画像のカスタム」をやってみたいのですが、どこから手を付けていいのか分かりません。
    エクスプローラーを使用されているようですが、どのように設定すればいいのでしょうか。
    初心者すぎてグーグルで調べるキーワードすら思いつきません。どうぞ宜しくお願いします。

    • yoshipc

      ご質問ありがとうございます。ブログに掲載されているエクスプローラーのスクショはSCPを使ってWindowsにダウンロードした時のものですね。
      アップロードも含めダウンロードはこちらのようなソフトを使う事で可能です。こちらを利用してまずはご自身のサーバーに必要な画像たちをアップロードしましょう。
      これができたら次はサーバーにSSH接続をします。こちらのような方法をとる事で可能になります。ついでに公開鍵認証の設定をしておくといいと思います。
      ここまでで不明な点ありましたらもう一度コメントお願いします。

  2. allforbigfire

    教えていただいたWinSCPとTera Termですが、ホスト名やパスワード等がごっちゃになってしまい設定に時間がかかり何度もやり直しましたが、画像の差し替えと背景色の変更が無事に出来ました。

    大変、参考になりました。本当にありがとうございました!!

    • yoshipc

      無事成功したみたいで喜ばしい限りです!
      また何か不明な点が出てきたら、コメントしていただければ嬉しいです。(ブログ記事のネタにもなりますし←)

  3. YY

    検索していてたどり着きました。
    「さくらのクラウド」のスタートアップスクリプトでMastodonを立ち上げました。

    https://haruhi-mstdn.club/about/more
    の、
    連絡先のアイコン・IDの表示の設定が分かりません。
    どのようにやるのでしょうか?

    • yoshipc

      コメントありがとうございます。

      これはMastodonで使用可能なコマンドを使って、自分の所有するアカウント(作成済み)を管理者に昇格させることで可能になります。
      Dockerを使ってMastodonを立ち上げている場合は、
      docker-compose run –rm web rails mastodon:make_admin USERNAME=[あなたのアカウント名]
      というコマンドを叩くと出来ます。例えば私の@yoshi_pc_の場合は、
      docker-compose run –rm web rails mastodon:make_admin USERNAME=yoshi_pc_
      と言った感じです。ただ、さくらのスタートアップスクリプトは確かDockerを使っていないで構築されていた記憶がある(曖昧)ので、そういった場合は代わりに以下のコマンドを叩きます。
      RAILS_ENV=production bundle exec rails mastodon:make_admin USERNAME=[あなたのアカウント名]

      ちなみアバターの設定は、先程設定した管理者アカウントでログインして、「ユーザー設定->プロフィールを編集」から簡単に編集が出来ます。
      これでダメでしたらもう一度コメントいただけると幸いです。お試しください。

      • YY

        試してみたんですが、うまくいきませんでした。
        コマンドを叩くと下記の表示がされました。

        bash: bundle: command not fand

        アドバイスお願いします。

        • yoshipc

          確認が遅れて申し訳ありません。

          docker-compose run –rm web rails ~~
          の方のコマンドも確認していただけますでしょうか?

  4. v1.4.1からassetsが作成される先はpublic/assetsではなく public/packsに変わっていますね。

    Generated assets now live under public/packs instead of public/assets.

    • yoshipc

      仰る通りです。至急更新します。ご報告ありがとうございました!

  5. yama-k

    こちらを参考にさせていただきました。ありがとうございます。
    最後のプリコンパイルですが、さくらのスタートアップスクリプト利用の場合、
    ・ユーザーを変更(su mastodon)
    ・変更したCSSや画像の位置までカレントフォルダをcdで移動
    ・RAILS_ENV=production bundle exec rails assets:precompile を実行
    ・rootユーザーに戻って、systemctl restart mastodon* でmastodonを再起動
    でうまくいきました。

    • yoshipc

      情報ありがとうございます。今後も訪問される方の参考になると思いますので、記事にコメントの方を紹介させていただきます。ありがとうございました!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です