Crosstalk-Solutions/project-nomad — Project NOMAD is an offline-first knowledge and education server. Wikipedia, thousands of books, courses, maps, and optional local AI, all running on hardware you own with no internet required.
Project NOMAD — 인터넷 없이 지식·교육 자료와 로컬 AI를 실행하는 오프라인 서버
Project NOMAD는 Wikipedia, 전자책, 교육 과정, 지도, 로컬 AI를 한데 묶은 오프라인 우선 지식·교육 서버입니다. Debian 기반 시스템과 Docker에서 실행하며, 설치 뒤에는 인터넷 없이 사용할 수 있지만 기본적으로 인증이 없어 네트워크 공개 시 별도 접근 제어가 필요합니다.
- 주제
AI 요약
Project NOMAD는 사용자가 소유한 하드웨어에 설치하는 self-contained 오프라인 우선 지식·교육 서버입니다. Wikipedia와 의학 자료, 전자책, Khan Academy 과정, 오프라인 지도, 데이터 처리 도구, 문서 검색 기반 AI를 하나의 웹 인터페이스에서 관리합니다. 설치 뒤 인터넷 연결 없이 사용할 수 있고, 추가 자료나 애플리케이션을 내려받을 때만 다시 네트워크가 필요합니다.
■ 설치와 구성
Debian 기반 운영체제를 지원하며 Ubuntu 26.04 LTS를 권장하고 Ubuntu 24.04 LTS와 Debian 12도 지원합니다. 설치는 터미널에서 진행하고 sudo/root 권한이 필요합니다. curl을 설치한 뒤 GitHub의 install_nomad.sh를 내려받아 실행하면 됩니다. 데스크톱 환경은 필요하지 않으며, 서버에 설치한 뒤 다른 기기의 브라우저에서 접근하는 구성도 가능합니다. 설치가 끝나면 http://localhost:8080 또는 장치의 IP 주소와 8080 포트로 Command Center를 엽니다.
고급 사용자는 Docker Compose 템플릿을 직접 작성해 실행할 수도 있습니다. 이 방식에서는 docker-compose.yml의 placeholder를 실제 값으로 바꾸고 docker compose up -d를 실행해야 하므로 Docker와 수동 설정 지식이 필요합니다. Command Center는 관리 UI와 API 역할을 하며, Docker 컨테이너로 실행하는 도구와 자료의 설치·설정·업데이트를 조정합니다.
■ 포함된 도구와 자료
Information Library는 Kiwix를 사용해 오프라인 Wikipedia, 의학 참고 자료, 생존 안내서, 전자책을 제공합니다. Kolibri 기반 Education Platform에서는 Khan Academy 강좌와 학습 진도를 관리하고 여러 사용자를 지원합니다. ProtoMaps는 지역별 오프라인 지도를 내려받아 검색하도록 구성합니다. CyberChef는 암호화, 인코딩, 해시, 데이터 분석에 사용합니다. FlatNotes는 Markdown 기반 로컬 메모를 제공합니다.
AI Assistant는 Ollama와 Qdrant를 조합합니다. 문서를 업로드하면 semantic search와 RAG 방식으로 지식 베이스를 구성하고 로컬 채팅에 활용합니다. Ollama 대신 LM Studio나 llama.cpp처럼 OpenAI API 호환 서버를 연결할 수도 있습니다. 다른 호스트의 Ollama를 연결할 때는 OLLAMA_HOST=0.0.0.0으로 서버를 시작해야 하며, 해당 호스트의 모델 설치와 서버 운영은 사용자가 맡습니다. Ollama를 기본 경로로 권장하는 이유는 모델 다운로드 같은 기능을 제공하기 때문입니다.
그 밖에 하드웨어 점수와 커뮤니티 순위를 보여주는 System Benchmark, PDF 도구·파일 브라우저·전자책 라이브러리·비밀번호 관리자 등을 원클릭으로 설치하는 Supply Depot이 포함됩니다. Supply Depot에서는 사용자가 작성한 Docker 컨테이너도 추가할 수 있습니다. Wikipedia 콘텐츠 선택기, ZIM 라이브러리 관리자, 콘텐츠 탐색기, 최초 설정 마법사도 함께 제공합니다.
■ 하드웨어 요구 사항
관리 애플리케이션만 설치하는 최소 사양은 2GHz 듀얼 코어 이상 프로세서, RAM 4GB, 여유 저장 공간 5GB입니다. AI 도구와 LLM을 실행하려면 AMD Ryzen 7 또는 Intel Core i7 이상, RAM 32GB, NVIDIA RTX 3060 또는 동급 AMD GPU 이상, 여유 저장 공간 250GB 이상을 권장합니다. 저장 장치는 SSD가 권장됩니다. 실제 요구 사양은 설치하는 도구와 자료에 따라 달라집니다.
NOMAD 자체는 가볍게 동작하지만, 포함된 AI 도구를 활용하려면 GPU가 있는 성능 높은 장치를 권장합니다. 프로젝트는 특정 하드웨어 제조사를 후원하지 않으며 하드웨어에 종속되지 않는 구성을 지향합니다. 가격대별 150달러부터 1,000달러 이상까지의 빌드 권장안도 별도 Hardware Guide에서 제공합니다.
■ 오프라인 동작과 네트워크 설정
설치 과정에서 의존성을 내려받기 위한 인터넷 연결이 필요합니다. 이후에는 인터넷 없이 동작하며 기본 제공 telemetry는 없습니다. 연결 상태를 확인할 때는 먼저 Cloudflare의 1.1.1.1/cdn-cgi/trace 엔드포인트를 요청하고, 접근할 수 없으면 GitHub API나 Project NOMAD API를 대체 경로로 사용합니다. 이 검사 URL은 Settings → Advanced에서 바꾸거나 INTERNET_STATUS_TEST_URL 환경 변수로 지정할 수 있으며, 환경 변수가 UI 설정보다 우선합니다.
기본 설정에는 인증 기능이 없습니다. 다른 장치가 로컬 네트워크에서 NOMAD에 접근하도록 열 경우 포트와 네트워크 수준 제어로 접근 범위를 관리해야 합니다. 다중 사용자 권한, 관리자 계정, 자녀 보호 기능을 위한 인증 계층은 향후 요구가 충분하면 검토할 수 있는 항목으로 남아 있습니다. 프로젝트는 NOMAD 인스턴스를 인터넷에 직접 노출하지 말라고 안내합니다.
■ 자동 업데이트와 유지보수
Command Center는 사용자가 지정한 시간 창 안에서 minor·patch 업데이트를 자동으로 적용할 수 있습니다. 업데이트 전 대기 기간을 두고, 새 이미지에 필요한 디스크 공간이 충분한지와 다운로드·앱 설치 작업이 진행 중인지 확인한 뒤 실행합니다. major 버전 업데이트는 항상 수동으로 처리합니다. 자동 업데이트 로직은 실제 버전 변경 없이 검증하는 Ace 명령도 제공합니다.
node ace auto-update:dry-run --scenarios 명령은 네트워크, 데이터베이스, Docker 없이 결정론적 시나리오를 실행합니다. major-only, cool-off, prerelease·draft, 시간 창이 자정을 넘는 경우 등을 검사하고 실패하면 0이 아닌 종료 코드를 반환합니다. --current, --force-enabled, --cooloff, --window-start, --window-end, --now 옵션을 사용하면 특정 버전과 시각을 가정해 결과를 확인할 수 있습니다. --releases-file로 로컬 JSON 릴리스 목록을 사용하고 --skip-preflight로 Docker·디스크·대기열 사전 검사를 건너뛰는 오프라인 시뮬레이션도 가능합니다. 실행 결과에는 현재 버전, 업데이트 시간 창 여부, 선택된 대상 버전, 사전 검사 차단 사유가 표시되며 실제 업데이트는 요청하지 않습니다.
Apache License 2.0으로 배포하며, 설치 디렉터리 /opt/project-nomad에 시작·중지·업데이트·삭제 스크립트를 제공합니다. Command Center UI에서 설치 가능한 애플리케이션 컨테이너를 관리하고, 별도의 update_nomad.sh는 Command Center와 의존성 컨테이너를 갱신합니다. 설치 제거 스크립트는 되돌릴 수 없다고 안내합니다.
원문: GitHub / 번역·요약: Trawling