AI

OSSソーシャルメディアプラットフォーム比較:Mastodon vs Misskey vs Pixelfed でFediverse分散SNSを構築

オープンソースラボ編集部2026年6月13日

OSSソーシャルメディアプラットフォーム比較:Mastodon vs Misskey vs Pixelfed でFediverse分散SNSを構築

Twitter/X(有料API制限)・Instagramの代替として、Fediverse(ActivityPubプロトコルで相互接続した分散SNS網)が注目を集めています。Mastodon(マイクロブログ)・Misskey(リアクション機能付きSNS)・Pixelfed(Instagram代替)はセルフホスト可能なOSSのFediverseサーバーです。企業・コミュニティ・学術機関が独自のSNSインスタンスを運営できます。

OSSソーシャルプラットフォームを選ぶ理由

  • データ主権: ユーザーデータを自社サーバーに保管(Metaのデータ収集を回避)
  • アルゴリズムの制御: フィードをアルゴリズムではなく時系列で表示
  • Fediverse接続: 異なるソフトウェア間でフォロー・投稿が可能(相互運用性)
  • 企業・コミュニティ向け: 閉じたSNS(インナーソーシャル)として社員・会員向けに運用
  • API: Twitter APIの代替として実装したアプリをMastodonインスタンスに接続できる

ActivityPubとFediverseとは

ActivityPubはW3C標準化されたオープンプロトコルです。MastodonのユーザーがMisskeyのユーザーをフォローでき、Pixelfedの投稿にMastodonから「いいね」できます。これは電子メールがGmailからOutlookにメールを送れるのと同じ概念です。現在Fediverse全体で1,000万+のアクティブユーザーがいます。

主要ツールの概要

Mastodon

最大規模のFediverseサーバーソフトウェアです。GitHubスター47k+。Ruby on Rails + React製。マイクロブログ形式(最大500文字のテキスト投稿)でTwitter代替として最も使われています。OAuth 2.0 APIはTwitter API v1に近い設計で、Twitterクライアントアプリの移植が多数あります。mastodon.social(運営: Eugen Rochko)は400万+ユーザーの最大インスタンスです。

# Mastodonをdocker-composeでセルフホスト
# 最低要件: 2 CPU, 2GB RAM, 20GB SSD
git clone https://github.com/mastodon/mastodon.git
cd mastodon

# docker-compose.yml(本番用)
cat > docker-compose.yml << 'EOF'
version: "3"
services:
  db:
    image: postgres:14-alpine
    restart: always
    environment:
      POSTGRES_HOST_AUTH_METHOD: trust
    volumes:
      - postgres14:/var/lib/postgresql/data

  redis:
    image: redis:7-alpine
    restart: always
    volumes:
      - redis:/data

  web:
    image: ghcr.io/mastodon/mastodon:v4.3.0
    restart: always
    env_file: .env.production
    command: bundle exec puma -C config/puma.rb
    depends_on:
      - db
      - redis
    ports:
      - "127.0.0.1:3000:3000"
    volumes:
      - ./public/system:/mastodon/public/system

  streaming:
    image: ghcr.io/mastodon/mastodon:v4.3.0
    restart: always
    env_file: .env.production
    command: node ./streaming
    depends_on:
      - db
      - redis
    ports:
      - "127.0.0.1:4000:4000"

  sidekiq:
    image: ghcr.io/mastodon/mastodon:v4.3.0
    restart: always
    env_file: .env.production
    command: bundle exec sidekiq
    depends_on:
      - db
      - redis
    volumes:
      - ./public/system:/mastodon/public/system

volumes:
  postgres14:
  redis:
EOF
// Mastodon APIをTypeScriptから使う(masto.jsライブラリ)
// npm install masto

import { createRestAPIClient, createStreamingAPIClient } from 'masto';

const mastodon = createRestAPIClient({
  url: 'https://mastodon.yourcompany.com',
  accessToken: process.env.MASTODON_ACCESS_TOKEN,
});

// 投稿を取得(タイムライン)
async function getHomeTimeline(limit = 20) {
  const statuses = await mastodon.v1.timelines.home.list({ limit });
  return statuses.map(s => ({
    id: s.id,
    content: s.content,
    author: s.account.acct,
    createdAt: s.createdAt,
    favourites: s.favouritesCount,
    reblogs: s.reblogsCount,
  }));
}

// 投稿を作成
async function createPost(text: string, visibility: 'public' | 'unlisted' | 'private' = 'public') {
  return mastodon.v1.statuses.create({
    status: text,
    visibility,
  });
}

// WebSocketでリアルタイムストリームを受信
const streaming = createStreamingAPIClient({
  streamingApiUrl: 'wss://mastodon.yourcompany.com',
  accessToken: process.env.MASTODON_ACCESS_TOKEN,
});

async function watchPublicTimeline() {
  const subscription = await streaming.public.subscribe();
  for await (const event of subscription) {
    if (event.event === 'update') {
      console.log('新着投稿:', event.payload.content);
    }
  }
}

Misskey

日本発のFediverseプラットフォームです。GitHubスター10k+(本体はmisskey-dev/misskey)。絵文字リアクション・引用投稿・チャンネル機能・Drive(ファイルストレージ)が特徴。MisskeyのフォークにCalckey・Firefish・Sharkey・Catodon等があり、それぞれ機能改良が加えられています。UIが多彩でアニメーション・カスタムデザインに力を入れており、日本のオタク文化圏で普及しています。

# Misskey をdocker-composeで起動
git clone https://github.com/misskey-dev/misskey.git
cd misskey
git checkout master

cp .config/example.yml .config/default.yml
# .config/default.yml を編集(DB設定・Redis設定・URL等)

docker-compose up -d
# 初回はマイグレーションが必要
docker-compose exec web pnpm run migrate
# 初期管理者を作成
docker-compose exec web pnpm run init

Pixelfed

Instagram代替のFediverseプラットフォームです。GitHubスター5.7k+。PHP・Laravel製で、画像投稿・フィルター・ストーリーズ・Reels(動画)・DM・アルバム投稿をサポート。Mastodonと同じActivityPubプロトコルを使うため、MastodonユーザーがPixelfedのアカウントをフォローできます。

# PixelfedをDockerでセルフホスト
git clone https://github.com/pixelfed/pixelfed.git
cd pixelfed

# .env設定
cp .env.example .env
# APP_URL, DB設定, S3ストレージ設定を記入

docker-compose -f contrib/docker/docker-compose.yml up -d

# マイグレーション・初期化
docker-compose exec app php artisan key:generate
docker-compose exec app php artisan storage:link
docker-compose exec app php artisan migrate --force
docker-compose exec app php artisan db:seed --class=InstanceActorSeeder
docker-compose exec app php artisan instance:actor
docker-compose exec app php artisan passport:keys

機能比較表

比較項目MastodonMisskeyPixelfed
ライセンスAGPL-3.0AGPL-3.0AGPL-3.0
主要用途マイクロブログ(Twitter代替)多機能SNS画像共有(Instagram代替)
投稿タイプテキスト・メディアテキスト・メディア画像中心
絵文字リアクション❌(いいねのみ)
ActivityPub
OAuth API✅(Twitter互換)
最小要件2CPU/2GB RAM2CPU/4GB RAM2CPU/2GB RAM
言語Ruby/TypeScriptTypeScriptPHP

Fediverseの運営コストとホスティングはDevOpsカテゴリ/categories/devopsのインフラ比較も参照。コミュニティ向けコミュニケーションツールはCommunicationカテゴリ/categories/communicationにまとめています。

FAQ

Q. Mastodonのインスタンスを企業の社内SNSとして使うことはできますか?

A. はい、可能です。設定方法: ①.env.productionAUTHORIZED_FETCH=trueLIMITED_FEDERATION_MODE=trueを設定するとフェデレーションを制限した閉じたインスタンスになります②ユーザー登録を招待制(REGISTRATIONS_MODE=approved)に設定③メールドメインを社内ドメイン(yourcompany.com)に制限。利点: Twitter/Slack風のUI・Mastodon iOSアプリ/Androidアプリが使える・投稿はフルテキスト検索可能・WebHookで投稿イベントを外部システムに連携可能。注意: 社内SNSとしてはSlackの方がスレッド・チャンネル管理・ファイル共有が優れています。Mastodonは「パブリックな議論の場」に向いており、「作業用コミュニケーション」には向きません。

Q. Mastodonインスタンスのモデレーションとスパムフィルタリングはどうやりますか?

A. Mastodonには管理画面(/admin)から以下のモデレーション機能が使えます: ①サーバーブロック: スパムやハラスメントの多い外部インスタンスを一括ブロック②ユーザーサイレンス・サスペンド: 個別ユーザーの投稿を非表示またはアカウント停止③スパムフィルター: キーワードフィルター(/admin/filters)で特定のキーワードを含む投稿を自動警告④レポート機能: ユーザーからの通報をモデレーターが処理。外部ツール: ClearSkyでブロックリストを共有・管理するコミュニティが形成されています。大規模インスタンスの場合はモデレーター(有償スタッフ)の確保が必要です。

Q. Misskeyと Mastodonはフォローし合えますか?相互運用性はどこまでありますか?

A. ActivityPubで接続しているため、MisskeyユーザーとMastodonユーザーは相互フォロー・リプライ・ブーストが可能です。相互運用できる機能: フォロー・フォロー解除・投稿(Note/Status)・返信・リブログ/ブースト・メンション・絵文字(基本的な絵文字のみ)。相互運用できない機能: Misskeyのカスタムリアクション(他のサーバーでは「いいね」として変換される)・Misskeyのチャンネル機能(Mastodonからは見えない)・Pixelfedのストーリーズ(他のサーバーでは表示されない)・Mastodonの投票機能(未対応のサーバーでは表示されない)。実用上は「フォローして投稿を読む」ことは問題なく動作します。

Q. Mastodon APIはTwitter API v1と互換性がありますか?TwitterボットをMastodonに移植できますか?

A. Mastodon APIはTwitter API v1にインスパイアされた設計ですが、完全互換ではありません。移植のポイント:

// Twitter→Mastodonの移植例
// Twitter API v1: POST /1.1/statuses/update.json
// Mastodon API:   POST /api/v1/statuses

// Twitterクライアント(廃止)
// const tweet = await twitter.post('statuses/update', { status: text });

// Mastodonに移植
const status = await mastodon.v1.statuses.create({
  status: text,
  visibility: 'public',
});

// 主な違い:
// - text_limit: Twitter=280文字, Mastodon=500文字(インスタンス設定で変更可能)
// - メディアアップロード: POST /api/v1/media で先にアップロード→IDを使って投稿
// - RT→ブースト: POST /api/v1/statuses/:id/reblog
// - いいね: POST /api/v1/statuses/:id/favourite

ほとんどのTwitter BOT(定期投稿・ニュース配信・通知BOT)は数時間の移植作業でMastodonに移行できます。

まとめ

ユースケース推奨ツール
Twitter代替・マイクロブログMastodon
多機能SNS・絵文字リアクションMisskey
Instagram代替・画像共有Pixelfed
社内クローズドSNSMastodon(制限設定)

関連外部リソース

他の記事も読む

Let's Build Together

OSS導入、自社だけで悩まない。

ツール選定から構築・運用・AI活用まで、オープンソースラボ運営元のClasslessが伴走します。初回のご相談は無料です。