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
機能比較表
| 比較項目 | Mastodon | Misskey | Pixelfed |
|---|---|---|---|
| ライセンス | AGPL-3.0 | AGPL-3.0 | AGPL-3.0 |
| 主要用途 | マイクロブログ(Twitter代替) | 多機能SNS | 画像共有(Instagram代替) |
| 投稿タイプ | テキスト・メディア | テキスト・メディア | 画像中心 |
| 絵文字リアクション | ❌(いいねのみ) | ✅ | ✅ |
| ActivityPub | ✅ | ✅ | ✅ |
| OAuth API | ✅(Twitter互換) | ✅ | ✅ |
| 最小要件 | 2CPU/2GB RAM | 2CPU/4GB RAM | 2CPU/2GB RAM |
| 言語 | Ruby/TypeScript | TypeScript | PHP |
Fediverseの運営コストとホスティングはDevOpsカテゴリ/categories/devopsのインフラ比較も参照。コミュニティ向けコミュニケーションツールはCommunicationカテゴリ/categories/communicationにまとめています。
FAQ
Q. Mastodonのインスタンスを企業の社内SNSとして使うことはできますか?
A. はい、可能です。設定方法: ①.env.productionのAUTHORIZED_FETCH=true・LIMITED_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 |
| 社内クローズドSNS | Mastodon(制限設定) |