General Letter Publication System based on ActivityPub
  • Ruby 86.6%
  • HTML 9.5%
  • Shell 2.3%
  • CSS 0.9%
  • JavaScript 0.5%
  • Other 0.2%
Find a file
2026-02-24 19:16:18 +09:00
.github 当面はローカルでの検査に変更 2025-06-15 08:05:43 +09:00
.kamal Gemの選定 2025-06-02 14:39:37 +09:00
app @RequiredFieldで必須とされるフィールドを追加 2026-02-24 19:16:18 +09:00
bin 神の啓示(Claude Opus 4.6によるリファクタリング) 2026-02-15 23:05:50 +09:00
config ハッシュタグ機能の改善 2026-02-20 22:55:22 +09:00
db/migrate quote周りを修正、リモートのピン留め投稿を取得できるように修正 2026-02-23 23:49:36 +09:00
docker 起動時にGemfile.lockを更新しない 2026-02-19 17:33:07 +09:00
lib 投稿移行機能の実装 2025-07-14 17:59:53 +09:00
log Gemの選定 2025-06-02 14:39:37 +09:00
nginx スクリプトファイルの修正(cable関連を削除) 2025-09-09 19:17:39 +09:00
public fix 2025-12-06 23:17:14 +09:00
script Gemの選定 2025-06-02 14:39:37 +09:00
spec quicktime形式に対応 2026-02-22 18:29:32 +09:00
storage Gemの選定 2025-06-02 14:39:37 +09:00
tmp データベース削除スクリプト 2025-06-06 20:13:25 +09:00
vendor Gemの選定 2025-06-02 14:39:37 +09:00
.dockerignore ruby 4.0.1への移行 2026-02-16 22:54:10 +09:00
.gitattributes Gemの選定 2025-06-02 14:39:37 +09:00
.gitignore ruby 4.0.1への移行 2026-02-16 22:07:34 +09:00
.prettierignore 開発環境構築 2025-06-02 15:01:05 +09:00
.prettierrc 開発環境構築 2025-06-02 15:01:05 +09:00
.rubocop.yml ruby 4.0.1への移行 2026-02-16 22:07:34 +09:00
.ruby-version Gemの選定 2025-06-02 14:39:37 +09:00
backup_letter.sh スクリプトファイルの修正(cable関連を削除) 2025-09-09 19:22:45 +09:00
config.ru 開発環境構築 2025-06-02 15:01:05 +09:00
cookies.txt サードパーティクライアントの完全動作に必要なAPIを実装 2025-06-20 01:17:19 +09:00
docker-compose.prod.yml マウントポイントを変更 2025-09-29 22:14:38 +09:00
docker-compose.yml コンテナ名を変更 2025-08-04 16:03:43 +09:00
docker-quick-start.sh コンテナ削除コマンドの改良 2025-08-07 17:31:05 +09:00
Dockerfile ruby 4.0.1への移行 2026-02-16 22:54:10 +09:00
eslint.config.js ホームコントローラの起動確認 2025-06-02 16:51:13 +09:00
Gemfile 一部のクライアントで通知が機能しない問題を修正(暗号部分をフォーク実装) 2026-02-17 19:02:25 +09:00
Gemfile.lock 一部のクライアントで通知が機能しない問題を修正(暗号部分をフォーク実装) 2026-02-17 19:02:25 +09:00
LICENSE Initial commit 2025-05-28 15:24:06 +09:00
mise.toml ruby 4.0.1への移行 2026-02-16 22:07:34 +09:00
package-lock.json フロントエンド(WIP) 2025-06-09 22:48:40 +09:00
package.json コメントを日本語化(WIP) 2025-06-25 17:50:35 +09:00
Procfile マイグレーションファイルの統廃合(WIP) 2025-06-17 23:25:23 +09:00
Procfile.dev マイグレーションファイルの統廃合(WIP) 2025-06-17 23:25:23 +09:00
Procfile.dev.watch フロントエンドの実装(WIP) 2025-06-11 17:52:27 +09:00
Rakefile 開発環境構築 2025-06-02 15:01:05 +09:00
README.md docker用のセットアップスクリプトを改善 2025-07-12 21:20:18 +09:00
tailwind.config.js フロントエンド(WIP) 2025-06-09 22:48:40 +09:00
yarn.lock 第四次リファクタリング 2025-06-30 00:31:06 +09:00

letter : General Letter Publication System based on ActivityPub / 一般書簡公衆化システム

letter icon

特徴

letterはRails8およびSQLite、Hotwireで構成されるミニマルなActivityPub実装であり、一般的に作成された電子書簡を速やかに公衆送信することができます。この実装系は以下の特徴を備えています。

・1インスタンス2アカウント制限
・サードパーティクライアントの利用を前提とした軽量な設計
・RedisやSidekiqを廃し、Solid QueueおよびSolid Cable、Solid Cacheで構成された外部非依存のバックエンド
・マイクロブログの復権を意識した平易かつ高速なフロントエンド
・ローカル投稿の全文検索に対応
・Mastodon APIに準拠

セットアップ(本番環境)

RAILS_ENV=production bin/setup

セットアップDocker

./docker-quick-start.sh

起動Docker

docker compose -f docker-compose.yml -f docker-compose.prod.yml up -d

統合管理ツール

bin/letter_manager.rb
docker compose exec web rails runner bin/letter_manager.rb

スクリーンショット

post screenshot
config screenshot