先週からTwitterのUserStream APIが廃止されましたが、その反動かMastodon(マストドン)がまた少し一部で流行ってきている?感じがしますね。(SNSの動きで言うと、何となくmixi時代のOpenPNEを思い出す…)
これからMastodonでサーバ(インスタンス)を立てるなら、最も情報が多いであろうAWSを使うのがベストですかね。あとはさくらのVPSなども情報が多いですし、日本最大手のmstdn.jpも有名ですね。
今回は、PaizaCloudでMastodon互換のSNSであるPleromaをインストールしてサーバを立ててみました。外部サーバでもプロトコルは同等なので繋がることができます。
■PaizaCloudでPleromaをインストールしてサーバを立ててみる
【PaizaCloud】
PaizaCloudにユーザ登録&ログインしたら、「新規サーバ作成」ボタンを押して、サーバ作成画面を開きます。「サーバ作成」ボタンを押します。
以下の設定で新規サーバを作りましょう。今回はPostgreSQLを使うので、初期インストールに含めておくと楽です。
※PostgreSQLはPleromaの推奨バージョンではないけど動きます…が、今後Pleromaのアップデートで使えなくなった場合は自前の環境でインストールしていただく必要が出てくるかもしれません。
Pleromaはelixirで動作していますので、以下をインストールしておきます。
sudo apt update apt install elixir erlang-dev erlang-parsetools erlang-xmerl
ではPleromaをcloneしましょう。
git clone https://git.pleroma.social/pleroma/pleroma cd pleroma
mixという管理ツールで依存関係を入れていきましょう。
mix deps.get
「Hexは入れますか?」という質問が表示されるので Y と答えてください。
続いて設定ファイルのジェネレートです。
mix generate_config
ここでも「Rebar3は入れますか?」と聞かれるので Y と答えてください。
ちょっと時間がかかります。なんか警告出てるのが気になりますけどとりあえず無視して、ドメイン名とユーザー名とメールアドレスを設定します。
すると、これらの設定が書き込まれた config/generated_config.exs というファイルが生成されます。
このファイルにはデータベースの接続設定なども書き込まれていますので、確認してみましょう。
use Mix.Config config :pleroma, Pleroma.Web.Endpoint, url: [host: "example.com", scheme: "https", port: 443], secret_key_base: "〜" config :pleroma, :instance, name: "paiza", email: "〜@〜", limit: 5000, registrations_open: true, dedupe_media: false config :pleroma, :media_proxy, enabled: false, redirect_on_failure: true #base_url: "https://cache.pleroma.social" # Configure your database config :pleroma, Pleroma.Repo, adapter: Ecto.Adapters.Postgres, username: "pleroma", password: "〜", database: "pleroma_dev", hostname: "localhost", pool_size: 10
secret_key_base やパスワード類は"〜"で置換していますが、こんな感じのファイルがジェネレート時に自動生成されます。
たとえば「外部のSQLサーバにつないでほしい」などという場合は、ここで修正しておいてください。今回はローカルホストのPaizaCloud起動時にインストールしたPostgreSQLにデータを入れていくので、この設定を prod.secret.exs にリネームしておきます。
mv config/generated_config.exs config/prod.secret.exs
続いてデータベースの初期セットアップをしましょう。
sudo su postgres -c 'psql -f config/setup_db.psql' MIX_ENV=prod mix ecto.migrate
あとはPleromaを起動させるだけです。
MIX_ENV=prod mix phx.server
かなり簡単にできましたね。PaizaCloudの左側メニューに4000番ポートで待ち受けているはずですので、開いてみましょう。
できました。これだけでも登録や投稿(トゥート?ツイート?)は可能です。(※実際に本番サーバとして動かしていくなら、さらにNginxなどでhttpsの設定などをする必要がありますし、PaizaCloud で常時起動するなら有料プランが必要となります)
■まとめ
というわけで、PaizaCloudでPleromaを使ってサーバを立ててみました。
ログインして投稿してみるとこんな感じ。
画像のアップロードなどは一応正しくできていますが、ポート番号を含むURL指定がないと表示されない状態です。configなどで上手く回避する方法はあるかもしれませんが、本番で動かしていけるほどにはならないと思うので…とりあえず今回はここまでお試しということでやってみました。
もっと詳しく知りたい人は、Pleromaの公式ドキュメントを読んでみましょう。格安VPSとかでも動きそうですね。
今回、PaizaCloud単体でMastodonのインスタンスを立てるのが難しかったのでPleromaを入れてやってみましたが、PaizaCloud上でこれだけ動いてくれるならMastodon本体より確実に軽いですねー。
今のところ「Mastodonは重くてちょっと嫌…」な人は、Pleromaを選択するのがよいのではないかと思います。フロントとバックエンドが分離されていて、MastodonのUIを使うことも可能なようですし。
Pleromaはラズパイでも動くみたいな話もあるので、興味深いですね。(実際どれくらいのユーザー数をさばけるかは不明ですが)ほかにも互換性があるものでいうと、Rustで作られたRustodonなどもあるようです。
動画でプログラミングが学べるpaizaラーニングでは、新たに「Python×AI・機械学習入門編」が追加されました。
人気声優の上坂すみれさん演じる進行役のスベトラーナ・小百合・ベレフスカヤと一緒に、実際に画像認識技術を使いながら、初心者でも機械学習を体験・学習できるレッスン内容になっています。
Python×AI・機械学習入門編は全編無料でごらんいただけます。詳しくはこちら
「[PaizaCloud](https://paiza.cloud/ja/)」は、環境構築に悩まされることなく、ブラウザだけで簡単にウェブサービスやサーバアプリケーションの開発や公開ができます。
「paizaラーニング」では、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べるレッスンを多数公開しております。
詳しくはこちら
そしてpaizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。
スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。
詳しくはこちら