**タイトル**  
Show HN:セルフホスト版Reddit – 23億件の投稿、オフラインで動作、永遠にあなたのもの

2026/01/14 0:35

**タイトル** Show HN:セルフホスト版Reddit – 23億件の投稿、オフラインで動作、永遠にあなたのもの

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

## Summary

Redd‑Archiver は、Reddit、Voat、および Ruqqus から取得した圧縮データダンプ (.zst, .7z, SQL) を高速でモバイル優先の HTML アーカイブへ変換する無料かつオープンソースツールです。PostgreSQL GIN インデックスによるフルテキスト検索を任意で有効にできます。サポート対象は、2.38 B Reddit 投稿(40 029 サブレディット)、3.81 M Voat 投稿/24.1 M コメント(22 637 サブヴァース)および 500 K Ruqqus 投稿(6 217 ギルド)です。

プロジェクトは、オフライン静的 HTML、Tor 隠しサービス付き Docker、および HTTPS 本番用 Docker の 3 つのデプロイモードを提供します。すべて 0–15 分以内に起動可能です。REST API v1 は、投稿・コメント・ユーザー・サブレディット・検索・統計・エクスポートなど30以上のエンドポイントを提供し、さらに MCP サーバーで Claude アシスタント用 AI ツール29種を公開します。

Redd‑Archiver のモジュラーアーキテクチャは、コア処理、インポーター、API、MCPサーバー、HTML生成の18個の専門モジュールから構成されており、拡張が容易です。WCAG 対応でテーマ切替と CSS のみで実現するインタラクション、SEO 最適化、およびファイルサイズ・進捗・データベースメトリクスを追跡する分析ダッシュボードを備えています。

ユーザーは自分のインスタンスを公開リーダーボード/レジストリに登録できます。インスタンスは完全性とコンテンツリスクで評価され、アーカイブ作業の調整が可能です。インストールには Python 3.7+、PostgreSQL 12+、4 GB+ RAM が必要で、Docker Compose の使用が推奨されます。Let’s Encrypt HTTPS または Tor 隠しサービスをオプションで設定できます。

データソースは公開学術トレント(Reddit 3.28 TB、Voat 約15 GB、Ruqqus 約752 MB)から取得します。本プロジェクトは Unlicense によりパブリックドメインとして公開され、BTC および XMR の寄付を受け付けています。

Redd‑Archiver は研究者・アーカイブ担当者・ホビイストが大量のソーシャルメディアデータセットを閲覧・分析し、AI 搭載検索ツールを活用しつつデジタル文化を保存できるようにします。

本文

Redd‑Archiver

圧縮データダンプを閲覧可能なHTMLアーカイブへ変換し、柔軟に展開できるオプションを備えたツールです。
並べ替え済みインデックスページや全文検索(Docker)によるオフライン閲覧が可能です。
モバイルファーストでマルチプラットフォーム対応、エンタープライズグレードのパフォーマンスを実現し、PostgreSQL の全文検索索引を利用します。


対応プラットフォーム

プラットフォームフォーマットステータス投稿数
Reddit
.zst
JSON Lines(Pushshift)
✅ 完全対応23.8 B 件 (40,029 サブレディット、2024年12月31日まで)
VoatSQL ダンプ✅ 完全対応3.81 M 件の投稿と 24.1 M コメント(22,637 サブヴァース、完全アーカイブ)
Ruqqus
.7z
JSON Lines
✅ 完全対応500 K 件の投稿 (6,217 ギルド、完全アーカイブ)

追跡対象コンテンツ: 2.384 B 件の投稿を 68,883 コミュニティにわたって収集(Reddit の Pushshift データセットは2024年12月31日まで、Voat/Ruqqus は完全アーカイブ)。
バージョン1.0ではマルチプラットフォームアーカイブ、30 以上のエンドポイントを備えた REST API、AI 統合用 MCP サーバー、および PostgreSQL ベースのアーキテクチャが実装されています。


クイックスタート

ライブデモ: 例示アーカイブを見る
Redd‑Archiver に初めて触れる方は、まず QUICKSTART.md をご覧ください。

2–15 分で起動できます:

  1. ローカルテスト – 5 分
  2. Tor ホメラボ展開 – 2 分(ドメイン/ポート転送不要)
  3. 本番 HTTPS – 15 分
  4. 例示データでのテスト

主な機能

機能詳細
マルチプラットフォームサポートReddit、Voat、Ruqqus を統一アーカイブにまとめます。
自動検出ファイル拡張子からプラットフォームを自動判別します。
統合検索PostgreSQL FTS で全プラットフォームを横断検索可能です。
混在アーカイブ複数のプラットフォームを単一アーカイブに結合できます。
MCP サーバー(AI 統合)OpenAPI から生成された 29 の MCP ツールで AI アシスタントがフルアーカイブアクセス、トークンオーバーフロー防止、即時統計取得、Claude 対応設定を利用できます。
{
  "mcpServers": {
    "reddarchiver": {
      "command": "uv",
      "args": ["--directory", "/path/to/mcp_server", "run", "python", "server.py"],
      "env": { "REDDARCHIVER_API_URL": "http://localhost:5000" }
    }
  }
}

MCP サーバー設定の詳細は公式ドキュメントをご参照ください。


コア機能

  • モバイルファーストデザイン – レスポンシブレイアウト、タッチフレンドリーなナビゲーション。
  • 高度検索システム(サーバー必須) – Tor ネットワーク向けに最適化された PostgreSQL 全文検索。キーワード、サブレディット、作者、日付、スコアで検索可能。Docker デプロイが必要です。
  • JavaScript なし – 純 CSS のインタラクションのみ使用。
  • テーマ対応 – ビルトインのライト/ダーク切替(CSS だけ)。
  • アクセシビリティ – WCAG 対応、キーボード操作、スクリーンリーダーサポート。
  • パフォーマンス – 29 KB の最適化 CSS、低帯域設計。

技術的優秀性

項目説明
モジュラーアーキテクチャ保守性を高めるために 18 の専門モジュールで構成。
PostgreSQL バックエンド大規模処理でメモリ使用量は一定。
ライトニングファスト検索GIN インデックスを用いた PostgreSQL FTS。
REST API v1投稿、コメント、ユーザー、統計など 30+ エンドポイント。
Tor 最適化JavaScript を一切使用せず、サーバー側検索のみで外部依存なし。
リッチ統計ファイルサイズ追跡を含む分析ダッシュボード。
SEO 最適化メタタグ、XML サイトマップ、構造化データを自動生成。
ストリーミング処理メモリ効率が高く、自動再開機能付き。
進捗追跡リアルタイム転送速度、ETA、DB 指標を表示。
インスタンスレジストリ分散アーカイブの完全度重み付けスコアでリーダーボードシステムを提供。

デプロイオプション

モード検索サーバー設定時間用途
オフライン閲覧❌ ブラウズ専用なし0 分USB ドライブ、ローカルアーカイブ、オフライン調査
静的ホスティング❌ ブラウズ専用GitHub/Codeberg Pages10 分無料公開ホスト(サイズ制限あり)
Docker ローカル✅ PostgreSQL FTSlocalhost5 分開発、テスト
Docker + Tor✅ PostgreSQL FTS.onion 隠しサービス2 分プライベート共有、ポート転送不要
Docker + HTTPS✅ PostgreSQL FTS公開ドメイン15 分本番公開アーカイブ

オフライン閲覧機能

  • スコア・コメント数・日付で並べ替えたインデックスページ
  • 大規模サブレディット向けのページネーション
  • 完全なコメントスレッドとユーザーページ
  • HTML ファイルを直接開くだけで動作

検索サーバー付き

  • PostgreSQL の全文検索(GIN インデックス)
  • サブ秒単位のレスポンス、Tor 互換性

参加してインターネット史を保存しよう

以下からデータをダウンロード&ミラーリングできます。

プラットフォームサイズ投稿数ダウンロード
Reddit3.28 TB23.8 BAcademic Torrents · Magnet Link
Voat~15 GB3.8 MArchive.org †
Ruqqus~752 MB500 KArchive.org ‡

Voat ヒント: 1000 倍速のインポートが可能な事前分割ファイルを使用すると、サブヴァースごとに 2–5 分で完了(30+ 分ではなく)。
Ruqqus ノート: Docker イメージには自動 .7z 解凍用 p7zip が含まれています。


スクリーンショット

  • ダッシュボード – 統計概要、レスポンシブカード。
  • サブレディットインデックス – ソート・ページネーション・バッジ色付け。
  • 投稿ページ – ネストコメント、折りたたみ UI、アンカーリンク。
  • モバイルデザイン – タッチフレンドリーなナビゲーション。
  • 検索インターフェース – PostgreSQL FTS、Google スタイル演算子。

インストール

必須要件

  • Python 3.7+
  • PostgreSQL 12+(v1.0 以降必須)
  • 4 GB+ RAM(PostgreSQL は一定メモリ使用)
  • ディスク容量: 入力 .zst ファイルサイズの約 1.5–2 倍を DB 用に確保

Python 依存関係

pip install -r requirements.txt

Docker(推奨)

git clone https://github.com/19-84/redd-archiver.git
cd redd-archiver
mkdir -p data output/.postgres-data logs tor-public
cp .env.example .env   # 必要に応じて編集
docker-compose up -d    # PostgreSQL コンテナ起動
export DATABASE_URL="postgresql://reddarchiver:your_password@localhost:5432/reddarchiver"
python reddarc.py /path/to/data/ --output my-archive/

ローカル PostgreSQL

sudo apt install postgresql postgresql-contrib   # Ubuntu/Debian
# macOS なら brew services start postgresql@16
sudo -u postgres createuser reddarchiver
sudo -u postgres createdb -O reddarchiver reddarchiver
sudo -u postgres psql -c "ALTER USER reddarchiver WITH PASSWORD 'your_password';"
export DATABASE_URL="postgresql://reddarchiver:your_password@localhost:5432/reddarchiver"
python reddarc.py /path/to/data/ --output my-archive/

使い方

  1. データ準備 – Reddit
    .zst
    、Voat SQL、Ruqqus
    .7z
  2. PostgreSQL 設定
    DATABASE_URL
    を設定。
  3. アーカイブ生成
# .zst ファイルを自動検出して全て処理
python reddarc.py /path/to/pushshift-data/ --output my-archive/

# 単一サブレディット
python reddarc.py /data \
  --subreddit privacy \
  --comments-file /data/privacy_comments.zst \
  --submissions-file /data/privacy_submissions.zst \
  --output my-archive/
  1. デプロイ
docker compose up -d          # ローカル HTTP
./docker/scripts/init-letsencrypt.sh   # 本番 HTTPS 用
docker compose -f docker-compose.yml -f docker-compose.tor-only.yml --profile tor up -d   # Tor 隠しサービス

高度な CLI オプション

オプション目的
--hide-deleted-comments
[deleted]/[removed]
コメントを非表示にする。
--no-user-pages
ユーザーページ生成をスキップ(メモリ節約)。
--dry-run
処理前にファイル構成をプレビュー。
--force-rebuild
再構築時はすべての状態を無視して再ビルド。
--log-file <path>
カスタムログファイル場所。
--log-level DEBUG
ログ出力レベルを詳細に設定。

アーキテクチャ概要

reddarc.py            # CLI エントリポイント
search_server.py      # Flask 検索 API
core/
 ├─ postgres_database.py
 ├─ postgres_search.py
 └─ importers/          # Reddit, Voat, Ruqqus インポーター
api/
 └─ routes.py           # 30+ REST エンドポイント
mcp_server/
 └─ server.py           # FastMCP サーバー(29 ツール)
html_modules/
 └─ html_pages.py       # ページ生成のコアロジック
templates_jinja2/      # Jinja2 テンプレート
sql/
 ├─ schema.sql          # テーブル定義
 └─ indexes.sql         # GIN, B‑tree インデックス

PostgreSQL 全文検索

  • ライトニングファスト – GIN インデックスでメモリ一定。
  • 関連度ランキング
    ts_rank()
    を使用。
  • ハイライト抜粋
    ts_headline()
  • 高度フィルタ – サブレディット、作者、日付範囲、スコア。
# CLI で検索例
python postgres_search.py "machine learning" --min-score 100 --limit 20

# Web API (Docker)
docker-compose up -d reddarchiver-search-server
curl http://localhost:5000/search?q=machine%20learning&subreddit=technology&limit=50

REST API & レジストリ

  • システム
    /health
    ,
    /stats
    ,
    /schema
    ,
    /openapi.json
  • 投稿・コメント・ユーザー・サブレディット – リスト、単一項目、集計。
  • 検索
    /search
    ,
    /search/explain

MCP/AI 最適化機能: フィールド選択、トランケーション制御、バッチエンドポイント、コンテキスト取得。


パフォーマンスと最適化

データセット入力 (.zst)PostgreSQL DBHTML 出力
93.6 MB~150 MB1.4 GB (r/technology)
100 MB~160 MB~1.5 GB (小規模アーカイブ)
500 MB~800 MB~7.5 GB (研究プロジェクト)
2 GB~3.2 GB~30 GB (大規模コレクション)
100 GB~160 GB~1.5 TB (エンタープライズスケール)
  • 処理速度 – ストリーミングインジェストと効率的な HTML レンダリング、即時検索索引。
  • メモリ – 4 GB RAM が一定で、データセットサイズに関係なく安定。
  • スケーラビリティ – トピック単位で水平拡張可能;複数インスタンスを同一サーバーまたは別マシンで稼働。

活用事例

  • 研究・学術 – オンラインディスコース、社会運動、インターネット文化の保存。
  • コミュニティアーカイブ – サブレディットを削除前にバックアップし、オフラインリソースを作成。
  • 調査・分析 – 削除されたコンテンツやユーザー行動、モデレーション研究の解析。

ドキュメント

  • デプロイガイド: Docker, Tor, 静的ホスティング。
  • API & 統合: REST API 参照、MCP サーバードキュメント、レジストリ設定。
  • プロジェクト文書: CONTRIBUTING.md, SECURITY.md, LICENSE (Unlicense)。

コントリビューション

貢献を歓迎します!重点領域は以下です。

  • PostgreSQL クエリ最適化
  • 新しいエクスポートフォーマット
  • 検索機能の拡張
  • ドキュメント改善

モジュラーアーキテクチャを参照し、該当箇所で開発してください。


ライセンス

本ソフトウェアはパブリックドメイン(Unlicense)にて公開されます。コピー・変更・配布・販売・改変・再利用が自由です。


データソース

  • Pushshift (Reddit)
  • Watchful1 の PushshiftDumps
  • Arctic Shift
  • Ruqqus 公開データセット
  • SearchVoat アーカイブ

プロジェクトをサポートする

ビットコイン:

bc1q8wpdldnfqt3n9jh2n9qqmhg9awx20hxtz6qdl7

モネロ:
42zJZJCqxyW8xhhWngXHjhYftaTXhPdXd9iJ2cMp9kiGGhKPmtHV746EknriN4TNqYR2e8hoaDwrMLfv7h1wXzizMzhkeQi

インターネットアーカイブの取り組みを支援いただきありがとうございます!

同じ日のほかのニュース

一覧に戻る →

2026/01/14 5:45

**ゲームズ・ワークショップ、スタッフのAI使用を全面禁止 経営陣はテクノロジーに興味津々でない** - 同社は従業員が業務上人工知能ツールを利用することを一律で禁じる方針を採用しました。 - 経営層は知的財産の安全性や創造的コントロールへの影響を懸念していると述べています。 - 業界内では注目が集まっても、上級経営者はAIがデザイン・生産フローに与えるメリットに対し慎重な姿勢を保ち続けています。

## Japanese Translation: **改善された概要** Games Workshop は、コンテンツ制作と設計プロセスにおける生成型 AI ツールの使用を正式に禁止しました。この方針では、厳格な監視下で数名の上級マネージャーのみが AI を実験できるようになっていますが、その可能性についてはまだ誰も興奮していません。外部コンペティションへの参加を含む不正使用は禁止されており、企業はデータ準拠・セキュリティ・ガバナンスを監視し、AI/ML エンジンがデバイスに自動インストールされるのを防止する必要があります。 GW の禁止措置は知的財産権を保護し、人間クリエイターを尊重するとともに、上級スタッフによる限定的な調査を許可しています。この決定は、より広い文脈の中で行われました。GW は *Warhammer 40,000* や *Age of Sigmar* などのフラッグシップテーブルトップタイトルを所有し、高品質のコデックス本・ミニチュア・アニメーションを販売しており、最近は新規採用で Warhammer Studio を拡大しました。Displate の作品に関する最近の紛争―Displate がそのアートワークが AI によって生成されたと否定し、「赤旗」を人為的なミスに帰せたケース―は、ファンが生成型 AI アートに対して反発していることを示しています。特に Warhammer の美学に大きな影響力を持つアーティスト John Blanche の存在がその背景にあります。 今後も GW はデータ準拠とセキュリティの監視を継続します。上級マネージャーは AI の可能性を探るかもしれませんが、内部方針の変更や外部圧力が変わらない限り、広範な採用は見込めません。この禁止措置により GW は Genvid、EA、Square Enix など AI を積極的に導入している競合他社に比べて遅れを取ることになり、ゲーム開発の競争ダイナミクスが変わる可能性があります。これは生成型 AI の統合に対する業界全体の慎重な姿勢を反映しています。

2026/01/14 2:10

**チューリップ・クリエイティブ・コンピュータ** - 芸術と技術のユニークな融合 - 革新的なビジュアル体験を設計 - 鮮やかなカラーパレットと最先端ハードウェアを組み合わせる

## 日本語訳: **Tulip CC** は低電力で手頃な価格のセルフコンテインドポータブルコンピュータで、オープンソースの音楽ワークステーションとしても機能します。ESP32‑S3マイクロコントローラを中心に構築され、MicroPython を実行し、AMY ステレオ 120 ボイスシンセサイザーエンジン(加法/減法/F‑M 合成、サンプラー、Karplus–Strong、アナログフィルタ、シーケンサー、ドラムマシン、パッチエディタ)とキャパシティブ・マルチタッチ対応のタッチスクリーンディスプレイを備えています。 デバイスは 8.5 MB の RAM(MicroPython 用 2 MB、OS 用 1.5 MB、残りがグラフィックスフレームバッファ)と 32 MB のフラッシュ(うち 24 MB が使用可能)、Wi‑Fi、USB キーボード/マウス/MIDI、I²C/Grove/Mabee コネクタをセンサーや周辺機器用に搭載し、組み込みの pico/nano スタイルエディタ(構文ハイライトと REPL)も備えています。グラフィックスは LVGL によって処理されます:テキストフレームバッファ 128 × 50(ANSI 256 色)、スキャンラインあたり最大 32 スプライト(32 KB ビットマップメモリ)、1024 × 600 の背景フレームバッファでスクロール、PNG ローディング、デフォルト 30 FPS、解像度調整可能、256 色。 電力消費は 5 V で 575 mA(中程度の輝度)で、LiPo、18650、または USB バッテリーパックに対応しています。追加ソフトウェア機能として、ネイティブチャット/ファイル共有 BBS「TULIP ~ WORLD」、MIDI 入出力コールバック、およびクリエーションの共有用 Web バージョンがあります。 Tulip CC は市販ユニット、DIY ハードウェアキット、フル機能の Web アプリ、またはネイティブデスクトップアプリ(Mac/Linux/WSL)として入手可能です。開発リソース—完全な API ドキュメント、チュートリアル、Discord コミュニティ、およびオープンソース GitHub リポジトリ—が提供されており、埋め込みデバイスとデスクトップ環境の両方で動作するために貢献が必要です。将来のファームウェア更新では、合成モジュールの拡張、LVGL を介したグラフィックス解像度の向上、および電力効率の改善がコミュニティの入力を受けて行われる可能性があります。

2026/01/14 1:22

「二つの頭(=複数の視点)が一つより優れているのでしょうか?」

## Japanese Translation: ## 要約 コイントスの結果を時折だけ報告する人々がいる場合、報告者数が奇数であると予測精度が向上し、さらに1人追加して偶数にすると追加効果は得られないという点が主旨です。 シミュレーションと解析的な検証から次のように示されています:正直な友人(80 % 正解率)を1人だけ持つ場合、2人目を加えても精度は80 %のままであり、合意しても不一致が相殺されるため利益がありません。3人目が参加すると精度は90 %に上昇し、4人目が加わると再び90 %に戻ります。このパターンは奇数回報者ごとに繰り返されます。 この発見はコンドルセートの陪審理論を反映しており、偶数規模のグループでは多数決が引き分けになる可能性があるため、新たな情報を提供しないことを説明しています。著者は、創造的執筆プロジェクトを開催するプログラミングリトリート「Recurse Center」でベッティングシミュレーションを実行している際にこの現象に気付きました。 今後の研究では、この傾向がより複雑な投票設定や大規模グループでも維持されるかどうかを検証することが期待されます。グループサイズと偶奇性が意思決定品質に与える影響を理解することで、クラウドソーシングサイト、陪審制度、または人間の判断を集約するあらゆるプラットフォームの設計者が、不必要な偶数参加者を追加しないよう助けることができます。

**タイトル** Show HN:セルフホスト版Reddit – 23億件の投稿、オフラインで動作、永遠にあなたのもの | そっか~ニュース