자체 호스팅 Reddit 아카이브 – 23억 8천만 개 게시물, 오프라인 작동, 영구 보존

3 weeks ago 12

  • Redd-Archiver는 Reddit, Voat, Ruqqus 등 링크 집계 플랫폼의 데이터를 PostgreSQL 기반 HTML 아카이브로 변환하는 오픈소스 도구
  • 오프라인 브라우징PostgreSQL 전체 텍스트 검색(FTS) 을 모두 지원하며, Docker 배포로 HTTPS 또는 Tor 환경에서 운영 가능
  • 2.38억 개 Reddit 게시물(4만여 서브레딧 포함)과 Voat, Ruqqus의 완전 아카이브를 처리하며, 모바일 친화적 디자인자바스크립트 없는 인터페이스 제공
  • REST API 30여 개 엔드포인트MCP 서버 통합으로 AI 도구(Claude 등)와 연동 가능, 검색·통계·사용자 데이터 접근 지원
  • 인터넷 커뮤니티의 콘텐츠 소멸 방지와 연구용 보존을 목표로 하며, 누구나 로컬 또는 퍼블릭 인스턴스로 배포해 분산 아카이브 네트워크를 구축 가능

프로젝트 개요

  • Redd-Archiver v1.0은 Reddit, Voat, Ruqqus의 공개 데이터 덤프를 변환해 탐색 가능한 HTML 아카이브를 생성
    • Reddit: Pushshift .zst 형식, 2.38B 게시물 / 40,029 서브레딧
    • Voat: SQL 덤프, 3.81M 게시물 / 24.1M 댓글
    • Ruqqus: .7z JSON Lines, 500K 게시물
  • PostgreSQL 백엔드를 사용해 대규모 데이터셋을 일정 메모리(4GB)로 처리하며, GIN 인덱싱 기반 FTS로 빠른 검색 제공
  • HTML 출력물은 오프라인에서도 정렬·페이지네이션·댓글 트리 탐색이 가능

주요 기능

  • 멀티 플랫폼 통합: Reddit, Voat, Ruqqus 데이터를 하나의 아카이브로 결합
    • 플랫폼 자동 감지 및 통합 검색 지원
  • 고급 검색 시스템: 키워드, 작성자, 날짜, 점수 등으로 필터링
    • PostgreSQL FTS 기반, Tor 네트워크 호환
  • 모바일 퍼스트 디자인: 반응형 레이아웃, CSS-only 테마 전환, WCAG 접근성 준수
  • REST API v1: 게시물, 댓글, 사용자, 서브레딧, 검색 등 30+ 엔드포인트 제공
    • ?fields=, ?format=csv|ndjson 등 필드 선택 및 데이터 내보내기 지원
  • MCP 서버 통합: Claude Desktop/Code 등 AI 도구에서 직접 아카이브 질의 가능
    • 29개 MCP 도구 자동 생성, 토큰 절약 및 필드 제어 기능 포함

배포 및 운영 방식

  • 로컬/홈랩: 단일 명령으로 HTTP 또는 Tor 환경에서 실행
  • 프로덕션 HTTPS: 자동 Let’s Encrypt 인증서 설정(약 5분)
  • Tor 히든 서비스: 포트 포워딩 없이 .onion 주소로 접근
  • 정적 호스팅: GitHub Pages 또는 Codeberg Pages에 업로드 가능 (검색 기능 제외)
  • Docker 기반 배포: PostgreSQL 포함 완전 자동화 구성
    • 오프라인 브라우징, 로컬 검색 서버, Tor/HTTPS 동시 모드 지원

데이터 보존 및 커뮤니티 참여

  • 프로젝트는 “인터넷 역사 보존”을 목표로, 커뮤니티 폐쇄나 검열로 인한 데이터 손실을 방지
    • Reddit 데이터 3.28TB, Voat 15GB, Ruqqus 752MB 규모의 공개 덤프 제공
  • 사용자는 데이터를 로컬 저장·토렌트 시드·연구자 공유로 보존 네트워크에 참여 가능
  • Instance Registry를 통해 배포된 아카이브를 등록하면
    • 공개 리더보드 노출, 중복 방지 협업, 팀 단위 아카이빙 가능

기술 구조 및 성능

  • 모듈형 아키텍처(18개 HTML 모듈) 로 유지보수성과 확장성 확보
    • core/, api/, mcp_server/, html_modules/ 등으로 구성
  • PostgreSQL 기반 처리 성능
    • 일정 메모리(4GB)로 수백 GB 데이터 처리
    • GIN 인덱스로 서브초 단위 검색 응답
  • 수평 확장 지원
    • 주제별(예: 기술, 게임, 과학) 인스턴스 분리로 병렬 처리
    • 각 인스턴스 독립 운영 및 부하 분산 가능

활용 사례

  • 연구·학술: 온라인 담론, 사회 운동, 커뮤니티 동향 분석
  • 커뮤니티 보존: 폐쇄 전 서브레딧 백업, 오프라인 지식 저장소 구축
  • 조사·분석: 삭제 콘텐츠 패턴 연구, 사용자 행동 분석, 콘텐츠 검열 연구

라이선스 및 기여

  • Unlicense(퍼블릭 도메인) 으로 배포되어 상업·비상업적 사용, 수정, 재배포 모두 자유
  • PostgreSQL 최적화, 검색 기능 확장, 문서 개선 등 기여 환영
  • 프로젝트는 개인 개발자가 6개월간 개발했으며, 기부를 통해 서버·저장소 유지비 지원 가능

Read Entire Article