3줄 요약
- Project NOMAD는 위키백과와 교육 과정, 오프라인 지도, 원하면 설치하는 로컬 AI를 컴퓨터 한 대에 담는 오픈소스 서버다. 네트워킹 유튜브 채널 Crosstalk Solutions의 Chris Sherwood가 2026년 3월에 공개했고 Apache 2.0 라이선스를 따른다.
- 비슷한 오프라인 서버 대부분이 라즈베리파이급 최소 사양을 겨냥하는 반면 NOMAD는 GPU를 갖춘 고사양 기기를 권장한다. 로컬 LLM을 쓸 만한 속도로 돌리는 것을 전제로 삼았기 때문이다.
- 공개 반년 만에 스타 3만 7천 개가 모였다. 그런데 78개 릴리스의 변경 내역을 읽어 보니 개발 노력의 큰 몫은 오프라인 지식 저장보다 소비자용 GPU에서 로컬 추론을 안정시키는 작업에 들어갔다.
어디서 나온 프로젝트인가
Crosstalk Solutions는 Chris Sherwood가 2015년부터 운영해 온 네트워킹 교육 채널이다. UniFi, 와이파이 설계, 오픈소스 VoIP를 주로 다루며 구독자는 53만 명 선이다. 저장소 자체는 2025년 6월에 만들어졌고 v1.0.0은 2025년 7월에 나왔지만, 대중에게 알려진 것은 2026년 3월 12일 공개 영상부터다.
반응은 빨랐다. 3월 21일 올라온 해커뉴스 게시물은 610점과 댓글 222개를 기록했다. 깃허브 트렌딩 집계 서비스의 주간 기록을 보면 3월 넷째 주에만 스타가 1만 개 넘게 늘어 누적 1만 5천 개에 이르렀다. 2026년 9월 21일 현재 스타는 3만 7천 개를 넘겼고 포크는 3,726개다.
다른 매체도 뒤따랐다. 유튜브 채널 The Modern Rogue는 2026년 7월 NOMAD를 “종말 이후의 오프라인 인터넷"이라는 제목으로 다뤘다. 펠리컨 케이스에 넣은 휴대형 구성(NOMAD Deck)을 텍사스의 촬영 현장으로 가져가 Meshtastic 기반 LoRa 메시 네트워크와 연결했고, 인터넷도 셀룰러 신호도 없는 상태에서 오프라인 AI에 질문하는 장면을 보여줬다.
이 프로젝트가 설치하는 것
NOMAD의 본체는 “Command Center"라는 관리 UI와 API다. 이 Command Center가 Docker 컨테이너로 묶인 여러 도구를 설치하고 설정하고 갱신한다. NOMAD가 위키백과를 새로 만들거나 지도를 새로 그리는 일은 없다. 이미 성숙한 오픈소스 도구를 한 묶음으로 엮고 설치와 관리의 번거로움을 대신 처리하는 쪽에 가깝다.
| 기능 | 기반 도구 | 제공 내용 |
|---|---|---|
| 정보 라이브러리 | Kiwix | 오프라인 위키백과, 의학 참고서, 생존 가이드, 전자책 |
| AI 어시스턴트 | Ollama + Qdrant | 문서 업로드와 의미 검색(RAG)을 갖춘 로컬 채팅 |
| 교육 플랫폼 | Kolibri | 칸 아카데미 강좌, 진도 추적, 다중 사용자 |
| 오프라인 지도 | ProtoMaps | 지역별 지도 내려받기와 검색 |
| 데이터 도구 | CyberChef | 암호화, 인코딩, 해싱, 데이터 분석 |
| 메모 | FlatNotes | 마크다운 로컬 노트 |
| 시스템 벤치마크 | 자체 구현 | 하드웨어 점수와 커뮤니티 리더보드 |
| Supply Depot | 자체 구현 | 원클릭 앱 카탈로그, 사용자 정의 Docker 컨테이너 |
설치는 Debian 계열 OS에서 셸 명령 몇 줄로 끝난다. 데스크톱 환경이 없어도 되고, 설치가 끝나면 브라우저로 8080 포트에 접속해 나머지를 진행한다.
기술 스택은 Node.js와 TypeScript 기반의 AdonisJS이고, 프런트엔드는 React와 Vite, Inertia.js를 쓴다. 데이터베이스는 MySQL, 캐시와 백그라운드 작업은 Redis가 담당한다. 컨테이너 관리에는 Docker-outside-of-Docker 패턴을 채택했다. 즉 Command Center가 호스트의 Docker 소켓을 넘겨받아 형제 컨테이너를 띄우는 구조이며, 그 대가로 Command Center는 호스트 Docker에 대한 권한을 그대로 갖는다.

최소 사양을 거꾸로 세운 선택
README는 이 차이를 스스로 이렇게 설명한다.
비슷한 오프라인 생존용 컴퓨터 상당수가 최소한의 경량 하드웨어에서 돌아가도록 설계된 반면, Project NOMAD는 정반대다.
이 계열의 원조는 2012년 Braddock Gaskill이 시작한 Internet-in-a-Box다. 그쪽은 One Laptop Per Child의 학교 서버 프로젝트에서 갈라져 나왔고, 인터넷이 들어가기 어려운 지역의 학교와 진료소에 저비용으로 디지털 도서관을 보급하는 것을 목표로 삼았다. 라즈베리파이를 쓰는 이유가 분명하다. 대량 보급에는 싼 기기가 맞다. 상용 제품인 PrepperDisk도 자기네 소프트웨어가 Internet-in-a-Box를 기반으로 만들어졌다고 밝히고 있다.
NOMAD는 그 전제를 뒤집었다. Sherwood는 공개 영상에서 기존 제품들을 두고 위키백과를 넣은 라즈베리파이에 지나지 않는다고 말했다. 로컬 LLM을 대화가 가능한 속도로 돌리려면 GPU가 있어야 하는데, 그 조건을 걸면 라즈베리파이는 후보에서 빠진다.
NOMAD 사이트가 직접 제시한 비교표는 이렇다. 경쟁 제품의 사양은 NOMAD 측 주장이므로 그대로 받아들이기보다 참고로 읽는 편이 좋겠다.
| 제품 | 가격 | AI | 하드웨어 | 오픈소스 |
|---|---|---|---|---|
| Project NOMAD | 무료 | GPU 가속 LLM | 원하는 PC 아무거나 | Apache 2.0 |
| PrepperDisk | 199~279달러 | 없음 | 라즈베리파이 고정 | 부분적 |
| Doom Box | 699달러 | 기본 7B 모델 | 라즈베리파이 고정 | 아니요 |
| R.E.A.D.I. | 499달러 | 기본 7B 모델 | 라즈베리파이 고정 | 아니요 |
| Z3R4H | 499달러 | 온디바이스 AI 어드바이저 | Windows/Linux PC | 아니요 |
그렇다고 라즈베리파이 사용자에게 갈 길을 알려 주지 않는 것도 아니다. 하드웨어 가이드는 가벼운 오프라인 콘텐츠가 목적이라면 Internet-in-a-Box 쪽이 낫다고 직접 안내한다.
요구 사양은 두 단계로 제시된다. 관리 앱만 돌리는 최소 구성은 2GHz 듀얼코어, 램 4GB, 디스크 5GB로 충분하다. AI 도구까지 쓰려면 Ryzen 7이나 Core i7 이상, 램 32GB, RTX 3060급 이상의 GPU, SSD 250GB를 권한다. 인터넷은 설치 시점에만 있으면 된다.
NOMAD 점수라는 눈금
NOMAD에는 자체 벤치마크가 들어 있다. 내 컴퓨터로 로컬 AI가 돌아갈지는 보통 감으로 가늠하게 되는데, 이 기능은 그 자리에 측정값을 내놓는다.
NOMAD 점수는 백분율보다 지수에 가깝다. 기준 빌드인 Ryzen 9 PRO 8945HS와 Radeon 780M 조합이 정확히 1,000점을 받도록 눈금을 맞췄다. 2,000점이면 벤치마크 전체에서 두 배 빠르다는 뜻이고, 상한은 없다. 결과는 공개 리더보드에 모인다.

가격대별 안내는 리더보드 실측값에서 나왔다고 하드웨어 가이드는 밝히고 있다.
| 구성 | 예산 | NOMAD 점수 | AI 성능 |
|---|---|---|---|
| 예산형 (중고 미니 PC, 내장 그래픽) | 150~300달러 | 150~450 | 1~3B 모델로 초당 5~20 토큰 |
| 중간형 (Radeon 780M/890M 내장) | 명시 없음 | 약 1,000~1,800 | 8B 모델로 초당 12~17 토큰 |
| 고성능 (외장 GPU) | 1,000달러 이상 | 1,100~3,000 | 8B 모델로 초당 40~270 토큰 |
직접 시험한 기기의 수치도 공개되어 있다. 아래 속도는 모두 80억 파라미터 모델인 llama3.1:8b 기준이며, 더 작은 모델은 같은 기기에서 몇 배 빠르게 돌아간다.
| 기기 | CPU / GPU | 점수 | 초당 토큰 |
|---|---|---|---|
| Minisforum MS-02 Ultra | Core Ultra 9 285HX / RTX 5060 8GB | 2,003 | 84.2 |
| Minisforum AI X1 Pro | Ryzen AI 9 HX 370 / Radeon 890M | 1,080 | 15.8 |
| Minisforum UM890 Pro | Ryzen 9 PRO 8945HS / Radeon 780M | 989 | 12.3 |
전력 소비도 함께 적어 두었다. 미니 PC는 부하에 따라 15~65W를 쓰므로 태양광과 배터리로 감당할 만하다는 설명이다. 하드웨어 가이드의 제품 링크가 제휴 링크라는 점은 페이지에 명시되어 있다.
무엇을 얼마나 담을 수 있나
위키백과는 다섯 가지 크기 중에서 고른다. 전체 판본을 이미지까지 받으면 121GB 남짓이다.
| 구성 | 크기 |
|---|---|
| 상위 10만 항목, 이미지 최소 | 331MB |
| 상위 항목, 이미지 없음 | 2,239MB |
| 전체 600만 항목 이상, 압축본 | 12,531MB |
| 전체, 이미지 없음 | 52,690MB |
| 전체, 이미지와 미디어 포함 | 123,980MB |
골라 묶은 Kiwix 카테고리는 의학, 생존과 비상 대비, 교육과 참고, DIY와 수리, 농업과 식량, 컴퓨팅과 기술 여섯 갈래다. v1.34.0에서는 FDA 의약품 정보를 오프라인으로 찾아보는 기능도 들어왔다.

지도는 ProtoMaps 기반이라 원하는 지역을 받아 쓸 수 있고, 미리 묶어 둔 컬렉션은 미국 9개 권역이다.

크리에이터 팩이라는 묶음도 생겼다. 특정 유튜버의 영상을 Kiwix 파일로 묶어 오프라인에서 보게 하는 것으로, 현재 세 가지가 올라와 있다. Crosstalk Solutions가 30편(2,899MB), The Modern Rogue가 37편(5,177MB), 공식 영상이 5편(178MB)이다.
인증이 없다는 설계
보안에 관한 설명은 솔직하다. NOMAD는 설계상 인증 기능을 아예 넣지 않았다. 가로막는 절차 없이 열려 있는 편이 낫다는 판단이다.
인증을 넣을 생각이 있느냐는 질문에 저장소는 “아마도"라고 답한다. 우선순위가 높지 않으며, 수요가 충분하면 가족용 자녀 보호나 교실용 교사 계정 같은 용도에 한해 선택해서 켜는 인증 기능을 검토하겠다고 적었다. 공개 로드맵에 제안이 올라와 있으니 원하면 투표하라는 안내도 함께 붙어 있다. 그때까지는 네트워크 수준에서 포트를 막아 접근을 통제하라고 권한다. 인터넷에 직접 노출하는 것은 강하게 만류한다.
반대로 프라이버시 쪽은 단호하다. 내장 텔레메트리가 전혀 없다. 인터넷 연결 여부를 확인할 때는 먼저 Cloudflare의 1.1.1.1/cdn-cgi/trace에 요청을 보내고, 그 주소가 막혀 있으면 어차피 통신하던 깃허브 API와 Project NOMAD API로 넘어간다. 검사에 쓸 주소는 설정 화면이나 INTERNET_STATUS_TEST_URL 환경 변수로 바꿀 수 있다.
자동 업데이트와 드라이런
v1.33.0에서 들어온 자동 업데이트는 본체, 설치한 앱, 내려받은 콘텐츠 세 가지다. 설계는 조심스럽다. 전부 선택 사항이고 기본값은 꺼짐이다. 사용자가 정한 시간대 안에서만 돌고, 유예 기간을 지나야 하며, 같은 메이저 버전의 정식 릴리스만 적용한다. 메이저 버전을 올리는 일은 언제나 수동이다. 디스크 여유가 부족하거나 다른 내려받기가 진행 중이면 사전 점검에서 막힌다. 실제 실패가 반복되면 기능이 스스로 꺼지고, 잠깐 오프라인이라 릴리스 조회에 실패한 경우는 실패로 세지 않고 건너뛴다. 콘텐츠 업데이트는 용량이 커서 야간 시간대와 대역폭 상한을 따로 둔다.
이 로직에는 시험용 명령이 딸려 있다. 실제 버전을 올려 가며 시험하기는 현실적으로 어려우니, 판정 절차 전체를 업데이트 없이 그대로 돌려 보는 명령을 만들어 두었다.
# 네트워크, DB, Docker 없이 도는 결정론적 시나리오 모음.
# 메이저 전용, 유예 기간, 프리릴리스, 시간대가 자정을 넘는 경우 등 모든 분기를 검증하고
# 실패하면 0이 아닌 코드로 끝나므로 CI에 그대로 연결할 수 있다.
node ace auto-update:dry-run --scenarios
# "지금 1.32.0을 돌리는 중이라면 어떻게 될까"를 실제 릴리스 피드로 모의 실행
node ace auto-update:dry-run --current=1.32.0 --force-enabled
출력은 현재 버전, 시간대 안에 있는지 여부, 적용 대상 릴리스, 사전 점검에서 걸린 항목을 차례로 정리한다. 마지막은 WOULD UPDATE → v1.33.2나 WOULD NOT UPDATE (outside-window) 같은 판정이다. 고정된 시각과 미리 준비한 릴리스 목록을 넣어 완전히 오프라인으로 돌릴 수도 있다.
아직 안 되는 것
- 아키텍처: 공식 지원은 x86-64만이다. ARM과 라즈베리파이용 이미지는 배포하지 못했고, 커뮤니티가 만든 포크가 있을 뿐이다.
- 운영체제: Debian 계열만 공식 지원한다. macOS는 비공식이고, 윈도우용 WSL2 설치 안내는 커뮤니티가 제공한다.
- 언어: 2026년 3월 기준 UI는 영어뿐이고 콘텐츠도 대부분 영어다. 다국어 지원은 로드맵에 있다.
- 포트 설정: 핵심 서비스는 포트를 바꿀 수 있지만 설치형 앱은 아직 그러지 못한다.
- 모델 선택: 기본으로 Ollama를 쓰기 때문에 허깅페이스 모델을 바로 가져다 쓰기 어렵다. Ollama 카탈로그에 있는데 설정 화면에 안 보이는 모델은 API로 직접 요청해 받는 우회 방법을 안내해 두었다.
- 인력: 기여자 목록에 35명 이상이 있지만 커밋 대부분은 두 사람이 남겼다. 각각 336건과 231건이다. 자원봉사 팀이며 이슈 처리 속도도 그에 맞춰 이해해 달라고 적어 두었다.
릴리스 노트가 알려 주는 것
그런데 기능 목록만으로는 이 프로젝트의 실제 난이도를 알기 어렵다. 버그 수정 내역 쪽이 더 많은 것을 알려 준다. 최신 v1.35.0-rc.1의 수정 항목을 그대로 적으면 이렇다.
- 실패한 Ollama 모델 내려받기가 사용자에게 성공으로 보고되던 문제
- 추론 모델의
<think>출력이 대화 제목과 UI 칩, RAG 질의로 새어 나가던 문제 /dev/kfd가 없으면 AI 어시스턴트 설치 전체가 막히던 문제- 로그에서 Ollama의 CPU 폴백을 감지하지 못해 자동 교정이 작동하지 못하던 문제
- WSL2가 GPU 모델명으로 “Microsoft Basic Render Driver"를 리더보드에 제출하던 문제
v1.34.0의 목록도 비슷하다. 기본 지원되는 AMD 내장 GPU에 HSA_OVERRIDE=11.0.0을 강제하던 동작을 없앴고, AMD 환경에는 OLLAMA_IGPU_ENABLE을 설정했다. 780M에 해당하는 gfx1103만은 반대로 HSA_OVERRIDE를 11.0.0으로 맞춰 GPU에 머무르게 했다.
위키백과를 오프라인에 담는 문제는 Kiwix가 십수 년 전에 풀었고 NOMAD는 그것을 가져다 쓴다. 그러니 이 저장소에 남은 어려움은 임의의 소비자 하드웨어 위에서 로컬 추론이 소리 없이 실패하는 일을 막는 데 있다. 모델 내려받기가 실패했는데 성공했다고 말하는 UI, GPU를 쓰는 줄 알았는데 CPU로 떨어져 있는 Ollama, 리더보드에 가상 드라이버 이름을 올려 버리는 WSL2 환경은 모두 클라우드 API를 부를 때는 생길 일이 없는 종류의 고장이다.
로컬 AI가 쉬워졌다는 말은 대개 모델을 받아 실행하는 첫 단계까지를 가리킨다. 그 뒤에 무엇이 남는지를 78개 릴리스가 구체적으로 보여 준다. 벤치마크 리더보드를 따로 만든 것도 같은 문제를 다른 쪽에서 다룬 셈이다. 어떤 기기를 사야 하느냐는 질문에 권장 사양 문구로 답하는 대신, 실제로 돌려 본 사람들의 측정값을 모아 지수로 환산했다.
출처
Project NOMAD, Crosstalk Solutions (Chris Sherwood). Apache License 2.0. 원문 저장소: https://github.com/Crosstalk-Solutions/project-nomad 하드웨어 가이드: https://www.projectnomad.us/hardware FAQ: https://github.com/Crosstalk-Solutions/project-nomad/blob/main/FAQ.md
본문의 스크린샷은 프로젝트 공식 사이트(projectnomad.us)에서 가져왔다. 스타 수, 릴리스 목록, 컬렉션 용량 등의 수치는 2026년 9월 21일 깃허브 API와 저장소 파일을 직접 조회한 값이다.
