1P by GN⁺ 8시간전 | ★ favorite | 댓글 1개
  • Reddit, Voat, Ruqqus 등 플랫폼의 데이터를 PostgreSQL 기반 HTML 아카이브로 변환하는 오픈소스 도구
  • 2.38억 개 Reddit 게시물(4만여 서브레딧 포함)을 로컬에서 처리하며, 모바일 친화적 디자인자바스크립트 없는 인터페이스 제공
  • Reddit API 접근이 사실상 중단되고 서드파티 앱과 데이터 접근이 차단되는 상황에서, 기존 Pushshift 데이터셋을 활용해 완전한 Reddit 아카이브를 개인 소유로 전환하고자 하는 시도
  • JavaScript·외부 요청·트래킹 없이 정적 HTML로 동작하며, 오프라인·에어갭 환경·USB·라즈베리파이·LAN 서버 등 다양한 형태로 운영 가능
  • PostgreSQL 전체 텍스트 검색(FTS)30개 이상의 REST API, AI 도구 연동용 MCP 서버(29개 툴) 제공으로 대규모 분석과 질의 지원

Reddit 데이터 접근 환경 변화

  • Reddit API가 아카이빙 용도로는 사실상 사용 불가 상태로 전환됨
  • 서드파티 앱 생태계 붕괴와 Pushshift 데이터셋 접근 차단 위협 반복
    • Pushshift 데이터셋은 Reddit의 공개 게시물·댓글을 장기간 수집해 축적한 대규모 아카이브로, 수십억 건의 텍스트 기록을 포함
    • Reddit 공식 API를 통해 수집된 과거 시점의 스냅샷 데이터로, 현재 Reddit 서버나 API에 접근하지 않고도 활용 가능
    • API 정책 변경과 데이터 접근 제한 이후, Reddit 역사 보존과 대규모 분석을 위한 사실상 마지막 공개 데이터 자원으로 활용되고 있음
  • Pushshift를 통해 과거 Reddit 전체 기록이 토렌트 형태로 이미 공개되어 있음

Redd-Archiver 프로젝트 개요

  • Redd-Archiver v1.0은 Reddit, Voat, Ruqqus의 공개 데이터 덤프를 변환해 탐색 가능한 HTML 아카이브를 생성
  • PostgreSQL 백엔드를 사용해 대규모 데이터셋을 일정 메모리(4GB)로 처리하며, GIN 인덱싱 기반 FTS로 빠른 검색 제공
  • HTML 출력물은 오프라인에서도 정렬·페이지네이션·댓글 트리 탐색이 가능

Redd-Archiver 아카이빙 도구의 핵심 구조

  • Reddit(.zst), Voat(SQL), Ruqqus(.7z) 덤프를 입력으로 사용
    • 멀티 플랫폼 통합: 3개의 멀티 플랫폼을 단일 아카이브로 결합. 플랫폼 자동 감지 및 통합 검색 지원
    • CLI 플래그와 URL 프리픽스로 /r/, /v/, /g/ 경로 체계 제공
  • 정적 HTML 파일 생성 방식으로 서버 의존성 제거
  • index.html 열기만으로 탐색 가능하며 외부 네트워크 불필요
    • 모바일 우선 반응형 레이아웃과 터치 친화 내비게이션
    • 점수·댓글·날짜 정렬 인덱스와 페이지네이션 제공
    • JavaScript 없는 CSS 기반 인터랙션
  • PostgreSQL FTS 구성으로 플랫폼 통합 전체 텍스트 검색 지원
    • 키워드, 작성자, 날짜, 점수 등으로 필터링
  • 게시물·댓글·유저·서브레딧·집계 쿼리를 포함한 REST API 제공
  • AI 도구에서 직접 아카이브를 질의할 수 있는 MCP 서버 포함
    • Claude Desktop 또는 Claude Code에서 게시물·댓글·유저·검색 질의 가능
  • 인스턴스당 수천만 게시물 처리 가능
  • PostgreSQL 구조로 데이터 크기와 무관하게 메모리 사용량은 일정함
  • 전체 2.38B 게시물은 주제별 다중 인스턴스로 분산 운영 권장
  • Python·PostgreSQL·Jinja2·Docker 기반 구현(Claude Code를 전반적 개발 보조로 활용함)

배포 및 운영 시나리오

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

공개 정보

Hacker News 의견들
  • 아카이브를 셀프 호스팅할 수 있는 멋진 방법임
    개인적으로는 삭제된 댓글이나 봇이 덮어쓴 댓글을 원본으로 자동 복원해주는 플러그인이 있었으면 좋겠음
    요즘 Reddit을 쓰기 힘든 이유가, 예전 링크의 절반은 항의성 덮어쓰기 때문에 쓸모없는 댓글로 바뀌어 있기 때문임
    아이러니하게도 원본은 AI 학습용 아카이브에 남아 있는데, 정작 사용자 입장에서는 2년 전 프린터 드라이버 해결법 같은 걸 찾을 수 없게 됨

    • 사실 그게 진짜 아이러니한 건 아님. 대부분의 대규모 댓글 삭제는 LLM 학습 항의 때문이 아니라 Reddit이 API를 막은 데 대한 보이콧이었음
      사이트가 덜 유용해지는 게 바로 그들의 목적이었고, 사용자들이 떠나게 만드는 게 항의의 핵심이었음
    • 관련 프로젝트로 reddit-uncensored 링크를 공유함
    • 나도 댓글이 사라진 걸 자주 보지만, 작성자가 더 이상 공개 토론에 참여하고 싶지 않다면 그 선택을 존중함
      굳이 아카이브를 뒤져서 그 결정을 무력화하려고 하진 않음. 그냥 다음으로 넘어감
  • 데이터는 토렌트를 통해 받을 수 있음
    링크: redd-archiver 저장소

  • 정말 멋진 프로젝트임
    PushShift 외에도 다른 아카이브들이 있음 — 예를 들어 Arctic ShiftPullPush처럼 서로 다른 데이터셋을 제공함
    삭제 요청 범위에 따라 포함된 게시물이나 댓글이 다를 수 있음

  • 이 데이터를 기반으로 분산형 소셜 미디어를 새로 시드(seed)할 수 있지 않을까 생각함
    마치 프로젝트를 포크(fork)하듯이 말임

    • 이미 인스턴스 레지스트리와 팀 기반 리더보드를 위한 툴링을 만들어둠
      API도 이를 지원해서 분산형으로 아카이브를 공동 호스팅할 수 있음
  • 정말 흥미로운 프로젝트임
    궁금한 점은 Pushshift 데이터셋이 정기적으로 업데이트되는지, 아니면 특정 시점의 스냅샷인지임
    셀프 호스팅하는 경우 새 데이터를 주기적으로 다시 받아야 하는지 알고 싶음

    • 2025년 12월 데이터까지 이미 공개되었고, 보통 매달 새로 릴리스됨
      watchful1이 데이터를 분할·재처리 중이며, 앞으로는 Arctic Shift 덤프를 가져와 월별 업데이트를 지원할 예정임
      관련 링크:
  • 나도 비슷한 프로젝트를 진행 중이며, Pushshift Reddit 데이터를 Hugging Face Datasets에 업로드했음
    토렌트 시드가 약할 때는 huggingface.co/datasets/nick007x/pushshift-reddit에서 개별 파일을 바로 받을 수 있음
    월별 데이터나 특정 subreddit만 테스트하려는 사람에게 유용함

  • Docker Compose로 로컬 환경을 띄워보려 했는데 실패했음
    .env.example 파일이 없고, 수동으로 환경 변수를 설정해도 볼륨 경로 문제가 생김
    좀 더 다듬을 필요가 있어 보임

    • 피드백 덕분에 누락된 예시 파일들을 추가했고, 문서에 mkdir 단계도 업데이트함
      관련 커밋: 0bb1039, c3754ea
  • 혹시 죽은 Apollo 앱과 연동해서 과거 Reddit의 한 시점을 복원할 수 있을까 궁금함

    • API가 다양한 통합을 지원하므로 가능성이 있음
  • Reddit 전체를 내 컴퓨터에 저장하고 싶진 않음
    특정 subreddit만 선택할 수 있다면 좋겠음

    • 토렌트에는 상위 4만 개 subreddit 데이터가 포함되어 있음
      watchful1이 subreddit별로 데이터를 분할해놔서 원하는 부분만 다운로드할 수 있음
  • 2~3년 전에 비공개로 전환된 subreddit이 데이터 덤프에 포함되어 있는지 확인할 방법이 있는지 궁금함