ひとつの会社のものではない
サーバーはそれぞれ独立して、ゆるくつながっています。どれかが止まっても、あなたの居場所は残ります。
データは自分の手元に
ノートもフォローも、自分のサーバーに保存されます。持ち出し(エクスポート)と、引っ越しの用意があります。
オープンソース
ソースコードは AGPL-3.0 で公開。誰でも自由に立てて、直して、配れます。読めない部分はありません。
Features
Spica でできること
SNS として普通に使えることから、運営の道具まで。実際に動いているものを並べました。
ノート
3000 字まで。CW・公開範囲(連合 / ローカル / フォロワー)・画像 4 枚と ALT・アンケート・引用。 出したあとから編集もできます(相手のサーバーにも「編集した」と伝わります)。
絵文字で応える
定型の絵文字のほか、サーバーのカスタム絵文字でも。よく使うものは最近使った順に先頭へ並びます。 付けたリアクションは相手のサーバーにも届きます。
タイムライン
ホーム / ローカル / 連合 / タグ。新しいノートはその場で届きます(読み込み直しは要りません)。 j k キーでノートを送る、キーボード派の操作も。
リスト・アンテナ・チャンネル
フォローを分けずに見たい人だけを並べる(リスト)、言葉で集める(アンテナ)、 みんなで同じ話題を置く(チャンネル)。
ブックマーク・下書き・予約
あとで読む。あとで書く。決まった時刻に出す。書きかけのまま閉じても消えません。
通知
フォロー・返信・メンション・リアクション・リノート別に入切できます。まとめて出すか、1 件ずつかも選べます。 アプリのアイコンのバッジにも未読が出ます。
メッセージ
1 対 1 のやりとり。受け取る相手は許可制で、既定では誰からも受け取りません。 (サーバーの管理者が有効にしたときだけ使えます)
ドライブ
上げた画像・動画の整理。画像は位置情報を落として WebP に変換します。 S3 / Cloudflare R2 に置くことも、サーバーの中に置くこともできます。
安全
パスキー(指紋・顔・PIN)・2 段階認証・ログイン中の端末の確認・引っ越し・ JSON / ZIP のエクスポートと取り込み。
管理パネル
通報の対応、凍結、ロール、お知らせ、絵文字と招待、リレー、メール、配信キュー、メンテナンスまで。 1 人で回せるように作っています。
ホーム画面に追加
PWA として入れれば、アプリのように起動してプッシュ通知を受け取れます。 見た目はライト / ダーク、アクセント 6 色、文字の大きさも選べます。
Fediverse と相互運用
Misskey 互換 API もあるので、Misskey 系のアプリから読み書きできます。 WebFinger / NodeInfo / HTTP Signatures / リレーにも対応しています。
How it works
しくみは、いたって単純です
Spica は「サービス」ではなく、サーバーを立てるためのソフトウェアです。だから、居場所はあなたが選べます。
サーバーはそれぞれ独立していて、あなたのアカウントは、あなたが選んだサーバーにあります。 フォローも、リアクションも、返信も、サーバーをまたいで届きます。相手が Misskey でも Mastodon でも同じです。
これが Fediverse と呼ばれている形です。ひとつの巨大な広場ではなく、たくさんの小さな居場所が ゆるくつながっている。Spica はそのための、軽くて丈夫な土台です。
正直な補足: 連合の見え方は、相手のソフトで少しずつ違います(👍 が ☆ に見える、引用の形が違う、など)。 Spica は、その差ができるだけ小さくなる方に寄せています。
Get started
はじめかた
自分のサーバーを立てるのがいちばん自由です。すでに公開しているサーバーに参加する、でも構いません。
サーバーを選ぶ
自分で立てるなら、Node.js が動く場所をひとつ用意するだけ(VPS・自宅サーバー・Raspberry Pi など)。 立てるのが難しければ、公開しているサーバーを探して参加するのでも大丈夫です。
立てかたを見るアカウントを作る
最初のアカウントは「はじめての設定」で作ります。パスワードの代わりにマスターキーを使う方式のほか、 メール+パスワードやパスキーにも切り替えられます。
アプリとして入れる
ブラウザのメニューから「ホーム画面に追加」でアプリのように使えます。通知を許可しておくと、 閉じていても通知が届き、アイコンに未読の数が出ます。
Run your own
サーバーを立てる
PostgreSQL も Redis も必須ではありません。Node.js と SQLite だけで動くので、小さなマシンでも大丈夫です。
- Node.js v22.13 以上(v24 推奨)
- DB サーバー不要(SQLite / FTS5 を内蔵)
- VPS・自宅サーバー・Raspberry Pi でも
- PostgreSQL への切り替えもできます
- 失敗した配送は自動で再送(指数バックオフ)
- 1 人でも回せるメンテナンス用のコマンドつき
ローカルで試す
git clone https://github.com/Keychrom/Spica.git cd Spica npm install cp .env.example .env npm run dev # → http://localhost:5173
本番の設置(Nginx・SSL・常駐化・バックアップ)は README の「サーバー設置・導入ガイド」にまとめてあります。
正直な話: このプロジェクトは 1 人の学生がメインで開発しています。大人数でのテストはできていないので、 規模を大きくすると不安定になることがあります。まずは身内・コミュニティ規模でどうぞ。
FAQ
よくある質問
Misskey や Mastodon と、何が違いますか?
どれも ActivityPub でつながる仲間で、目的は同じです。Spica は「リアクション・引用・編集・CW を全部持ちながら、 Node.js と SQLite だけで動く軽さ」に寄せています。連合の細かい差(リアクションの見え方など)は Misskey や Mastodon と揃えていて、Misskey 互換 API があるので Misskey 系のアプリからも使えます。
無料ですか?
ソフトウェアは無料で、AGPL-3.0 のオープンソースです。かかるのは、サーバーを動かす場所の実費 (VPS 代・電気代など)だけです。
サーバーを立てるのは難しいですか?
Node.js を用意して、コマンド 5 行です。データベースは標準で SQLite なので、別途立てる必要はありません。 慣れてきたら PostgreSQL に切り替えることもできます。
大人数で使えますか?
いまのところ、大人数での運用テストはできていません。まずは身内や小さなコミュニティに向いています。 どこが弱いのかは、リポジトリの docs/SCALE.md に正直に書いています。
別のサーバーに引っ越せますか?
はい。引っ越し(Move)に対応しています。ノートは JSON / ZIP で持ち出せて、取り込みもできます。
データは誰のものですか?
あなたのサーバーに保存されます。持ち出せる形でエクスポートできるので、やめるときも置いていかなくて大丈夫です。
メッセージ(DM)は使えますか?
サーバーの管理者が有効にしたときだけ使えます(既定ではオフ)。受け取る相手は自分で選ぶ許可制で、 知らない人からのメッセージは届きません。
Open source
開発に参加する
読む・立てる・直す・配る、どれも自由です。フィードバックも歓迎しています。
ドキュメント
このサイト
ビルド不要の静的な HTML と CSS だけで作っています。アプリと同じデザイントークンを使っているので、 アプリの見た目を変えたらここも揃います。
応援してくださる方へ: Spica は広告も出資者もない個人開発です。サーバー代と開発の時間は、 寄付でまかなっています。くわしくは 寄付のページ へ。