# Redd-Archiver - Reddit 전체 아카이브를 로컬에서 소유하는 방법

> Clean Markdown view of GeekNews topic #25855. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=25855](https://news.hada.io/topic?id=25855)
- GeekNews Markdown: [https://news.hada.io/topic/25855.md](https://news.hada.io/topic/25855.md)
- Type: GN+
- Author: [xguru](https://news.hada.io/@xguru)
- Published: 2026-01-16T08:04:26+09:00
- Updated: 2026-01-16T08:04:26+09:00
- Original source: [github.com/19-84](https://github.com/19-84/redd-archiver)
- Points: 3
- Comments: 1

## Topic Body

- 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 전체 기록이 토렌트 형태로 이미 공개되어 있음   
  - [Subreddit Comments/Submissions 2005-06 to 2024-12](https://academictorrents.com/details/1614740ac8c94505e4ecb9d88be8bed7b6afddd4)  
  - 레딧 역사상 가장 인기 있는 서브레딧 4만 개를 개별 파일로 모아놓은 것  
  - 토렌트 클라이언트를 사용하여 원하는 서브레딧만 다운로드할 수 있음  
  
### Redd-Archiver 프로젝트 개요  
- **Redd-Archiver v1.0**은 Reddit, Voat, Ruqqus의 공개 데이터 덤프를 변환해 **탐색 가능한 HTML 아카이브**를 생성  
  - Reddit: Pushshift `.zst` 형식, 2.38B 게시물 / 40,029 서브레딧 / 3.28 TB / [아카데믹 토렌트 마그넷](https://academictorrents.com/details/1614740ac8c94505e4ecb9d88be8bed7b6afddd4)  
  - Voat: SQL 덤프, 3.81M 게시물 / 24.1M 댓글 / 15GB / [Archive.org에서 다운](https://archive.org/details/voat-archive-2021)  
  - Ruqqus: `.7z` JSON Lines, 500K 게시물 / 752MB / [Archive.org에서 다운](https://archive.org/details/ruqqus-archive-2021)  
- **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 동시 모드 지원  
  
### 공개 정보  
- 라이브 데모: https://online-archives.github.io/redd-archiver-example/  
- GitHub 저장소: https://github.com/19-84/redd-archiver  
- 라이선스: - **Unlicense(퍼블릭 도메인)** 으로 배포되어 상업·비상업적 사용, 수정, 재배포 모두 자유

## Comments



### Comment 49285

- Author: neo
- Created: 2026-01-16T08:04:26+09:00
- Points: 1

###### [Hacker News 의견들](https://news.ycombinator.com/item?id=46602324) 
- 아카이브를 **셀프 호스팅**할 수 있는 멋진 방법임  
  개인적으로는 삭제된 댓글이나 봇이 덮어쓴 댓글을 원본으로 자동 복원해주는 **플러그인**이 있었으면 좋겠음  
  요즘 Reddit을 쓰기 힘든 이유가, 예전 링크의 절반은 항의성 덮어쓰기 때문에 쓸모없는 댓글로 바뀌어 있기 때문임  
  아이러니하게도 원본은 AI 학습용 아카이브에 남아 있는데, 정작 사용자 입장에서는 2년 전 프린터 드라이버 해결법 같은 걸 찾을 수 없게 됨
  - 사실 그게 진짜 아이러니한 건 아님. 대부분의 대규모 댓글 삭제는 **LLM 학습 항의** 때문이 아니라 Reddit이 API를 막은 데 대한 보이콧이었음  
    사이트가 덜 유용해지는 게 바로 그들의 목적이었고, 사용자들이 떠나게 만드는 게 항의의 핵심이었음
  - 관련 프로젝트로 [reddit-uncensored](https://github.com/Fubs/reddit-uncensored) 링크를 공유함
  - 나도 댓글이 사라진 걸 자주 보지만, 작성자가 더 이상 공개 토론에 참여하고 싶지 않다면 그 선택을 존중함  
    굳이 아카이브를 뒤져서 그 결정을 무력화하려고 하진 않음. 그냥 다음으로 넘어감

- 데이터는 토렌트를 통해 받을 수 있음  
  링크: [redd-archiver 저장소](https://github.com/19-84/redd-archiver?tab=readme-ov-file#-get-involved-help-preserve-internet-history)
  - 각 플랫폼별 **sub 통계와 프로파일링**도 공개했음  
    어떤 커뮤니티를 우선 보존할지 판단하는 데 도움이 됨  
    - Reddit: [subreddits_complete.json](https://github.com/19-84/redd-archiver/blob/main/tools/subreddits_complete.json)  
    - Voat: [subverses.json](https://github.com/19-84/redd-archiver/blob/main/tools/subverses.json)  
    - Ruqqus: [guilds.json](https://github.com/19-84/redd-archiver/blob/main/tools/guilds.json)

- 정말 멋진 프로젝트임  
  PushShift 외에도 다른 아카이브들이 있음 — 예를 들어 [Arctic Shift](https://github.com/ArthurHeitmann/arctic_shift/releases)나 [PullPush](https://pullpush.io/)처럼 서로 다른 데이터셋을 제공함  
  **삭제 요청 범위**에 따라 포함된 게시물이나 댓글이 다를 수 있음

- 이 데이터를 기반으로 **분산형 소셜 미디어**를 새로 시드(seed)할 수 있지 않을까 생각함  
  마치 프로젝트를 포크(fork)하듯이 말임
  - 이미 인스턴스 레지스트리와 팀 기반 리더보드를 위한 **툴링**을 만들어둠  
    API도 이를 지원해서 분산형으로 아카이브를 공동 호스팅할 수 있음  
    - [REGISTRY_SETUP.md](https://github.com/19-84/redd-archiver/blob/main/docs/REGISTRY_SETUP.md)  
    - [register-instance.yml](https://github.com/19-84/redd-archiver/blob/main/.github/ISSUE_TEMPLATE/register-instance.yml)

- 정말 흥미로운 프로젝트임  
  궁금한 점은 Pushshift 데이터셋이 **정기적으로 업데이트**되는지, 아니면 특정 시점의 스냅샷인지임  
  셀프 호스팅하는 경우 새 데이터를 주기적으로 다시 받아야 하는지 알고 싶음
  - 2025년 12월 데이터까지 이미 공개되었고, 보통 매달 새로 릴리스됨  
    watchful1이 데이터를 분할·재처리 중이며, 앞으로는 **Arctic Shift 덤프**를 가져와 월별 업데이트를 지원할 예정임  
    관련 링크:  
    - [Arctic Shift 릴리스](https://github.com/ArthurHeitmann/arctic_shift/releases)  
    - [RaiderBDev 데이터](https://academictorrents.com/browse.php?search=RaiderBDev)  
    - [Watchful1 데이터](https://academictorrents.com/browse.php?search=Watchful1)

- 나도 비슷한 프로젝트를 진행 중이며, Pushshift Reddit 데이터를 **Hugging Face Datasets**에 업로드했음  
  토렌트 시드가 약할 때는 [huggingface.co/datasets/nick007x/pushshift-reddit](https://huggingface.co/datasets/nick007x/pushshift-reddit)에서 개별 파일을 바로 받을 수 있음  
  월별 데이터나 특정 subreddit만 테스트하려는 사람에게 유용함

- Docker Compose로 로컬 환경을 띄워보려 했는데 실패했음  
  `.env.example` 파일이 없고, 수동으로 환경 변수를 설정해도 **볼륨 경로 문제**가 생김  
  좀 더 다듬을 필요가 있어 보임
  - 피드백 덕분에 누락된 예시 파일들을 추가했고, 문서에 `mkdir` 단계도 업데이트함  
    관련 커밋: [0bb1039](https://github.com/19-84/redd-archiver/commit/0bb103952195ae5897d7c7d32f65aeb0471cb664), [c3754ea](https://github.com/19-84/redd-archiver/commit/c3754ea3a0238f9ec573604558e0594480142e6e)

- 혹시 죽은 **Apollo 앱**과 연동해서 과거 Reddit의 한 시점을 복원할 수 있을까 궁금함
  - API가 다양한 통합을 지원하므로 가능성이 있음

- Reddit 전체를 내 컴퓨터에 저장하고 싶진 않음  
  특정 subreddit만 선택할 수 있다면 좋겠음
  - 토렌트에는 상위 4만 개 subreddit 데이터가 포함되어 있음  
    watchful1이 subreddit별로 데이터를 분할해놔서 원하는 부분만 다운로드할 수 있음

- 2~3년 전에 **비공개로 전환된 subreddit**이 데이터 덤프에 포함되어 있는지 확인할 방법이 있는지 궁금함
  - 모든 subreddit의 **메타데이터 덤프**를 포함시켰음  
    상태 필드에서 비공개 여부를 확인할 수 있고, 세부 정보도 많음  
    - [data catalog README](https://github.com/19-84/redd-archiver/blob/main/tools/README.md)  
    - [subreddits_complete.json](https://github.com/19-84/redd-archiver/blob/main/tools/subreddits_complete.json)
