원문 캡처 · github.com
원문 캡처 · github.com

NjordDeploy는 Windows·macOS·Linux에서 실행해 Raspberry Pi, Proxmox VM, Linux 서버 등에 126개 이상의 앱을 배포하는 셀프호스팅 도구다. 대상 서버에는 SSH로 연결하며, Docker와 Rootless Podman을 지원한다. 제작자는 사전 검증된 앱과 원클릭 배포 묶음, 백업·복구 기능을 제공한다고 설명한다.

  • 대상 서버에 Python이나 컴파일러, 백그라운드 에이전트를 설치하지 않고 SSH로 연결한다.
  • Docker CE와 Rootless Podman을 지원하며, AI Component Studio는 Git 저장소에서 Compose 스택을 생성한다.
  • Windows·macOS·Linux용 데스크톱 앱 또는 서버에서 계속 실행하는 서비스로 이용할 수 있다.

기능과 대상

지원 카탈로그에는 Ollama, Open WebUI, LiteLLM 같은 AI·대규모 언어 모델(LLM) 앱과 Immich, Nextcloud, Syncthing, MinIO 같은 클라우드 저장소, Home Assistant, ESPHome, Zigbee2MQTT 같은 홈 자동화 앱이 포함된다. Vaultwarden, AdGuard Home, Traefik, CrowdSec 등 보안 앱과 Jellyfin, Plex, Audiobookshelf 등 미디어 앱도 제공한다. 전체 목록은 지원 서비스 카탈로그에서 확인할 수 있다.

원클릭 프리셋은 관리형 서비스 제공업체(MSP)용 Modern Workplace, Digital Archive & Compliance, Agile Operations, Observability와 홈랩용 AI Studio, Media Suite, Smart Home, DNS Shield로 구성된다. 제작자는 이 프리셋이 포트 충돌을 피하고 함께 필요한 의존성을 자동으로 연결한다고 설명한다.

AI Component Studio는 GitHub, GitLab, Gitea, Forgejo, Codeberg, Bitbucket의 공개 또는 자체 호스팅 저장소를 검증된 Jinja2 Compose 스택으로 변환한다. 생성에는 로컬 오프라인 Ollama 모델, EU 주권형 Loes.ai·HostYourAI, Google Gemini 또는 OpenAI를 사용할 수 있다. 자세한 내용은 개발자 AI 가이드를 참고하면 된다.

재해 복구 기능은 관리 대상의 영구 볼륨과 데이터베이스를 특정 시점 기준으로 백업한다. 컨테이너에 안전하게 볼륨을 일시 정지하고 SHA-256 무결성 체크섬을 확인한 뒤 한 번의 클릭으로 복원하는 방식이다. CI/CD 자동화와 홈랩 스크립트, AI 코딩 에이전트에 사용할 수 있는 OpenAPI 3.0 기반 REST API와 Swagger UI도 제공한다. API 설명은 참조 문서에 있다.

제작자는 Proxmox에서 Docker와 Podman, LXC와 VM을 조합한 4개 환경을 교차 검증했으며, 11개 Turnkey Package에서 44개 테스트를 모두 통과했다고 밝혔다. 제품에는 토큰을 사용하지 않는 자동 감시, Signal 모바일 알림, 로컬 풀스루 레지스트리 캐시, 시각적 증거를 포함한 A4 벡터 PDF 내보내기도 포함된다. 관련 내용은 테스트 전략과 자가 복구 DevOps 사례 연구에 소개돼 있다.

설치와 사용 조건

데스크톱 앱은 GitHub Releases에서 운영체제에 맞는 휴대용 패키지를 내려받아 압축을 풀고 실행한다. 패키지에는 용도별 프로그램 세 가지가 들어 있다.

  • NjordDeployConfigurator는 일반 사용자용 배포 마법사로 http://localhost:5001에서 실행한다.
  • NjordDeployEditor는 구성 요소 메타데이터를 만들고 수정하는 개발자 도구로 http://localhost:5000에서 실행한다.
  • NjordDeployProxmoxTest는 Proxmox VE 하이퍼바이저 테스트 도구로 http://localhost:5050에서 실행한다.

화면 안내에 따라 로컬 네트워크에서 장치를 찾고, 소프트웨어 스택을 고른 다음 변수를 설정해 배포한다. 브라우저에서 배포 로그를 실시간으로 볼 수 있다. Linux 데스크톱에서 L2 네트워크 검색을 사용하려면 로컬 스캐너에 다음 권한을 설정해야 한다.

sh
echo "$USER ALL=(ALL) NOPASSWD: /usr/bin/nmap" | sudo tee /etc/sudoers.d/99-njorddeploy
sudo chmod 0440 /etc/sudoers.d/99-njorddeploy

서버, 미니 PC 또는 Proxmox VM에서 서비스를 계속 실행하는 방법도 있다. Docker Compose 방식은 docker compose up -d를 실행하고 curl -s http://localhost:5001/api/health로 상태를 확인한다. Linux systemd 방식은 sudo ./scripts/install_systemd_service.sh install로 설치하고 sudo ./scripts/install_systemd_service.sh status로 상태를 확인한다. 지속적인 SSH 키 설정, 리버스 프록시 연결, 환경 변수는 24/7 자체 호스팅 서비스 안내서에 설명돼 있다.

설치 프로그램을 실행하는 컴퓨터는 Windows, macOS 또는 Linux여야 한다. Linux에서는 sudo apt install -y nmap sshpass openssh-client가 필요하다. 대상 서버는 Raspberry Pi 4/5, Orange Pi, Rock Pi, 미니 PC, x86_64 서버 또는 Proxmox LXC·VM을 지원하며, 운영체제는 Debian 12 (Bookworm), Ubuntu 22.04/24.04 또는 Raspberry Pi OS다. 컨테이너 실행 환경으로는 Compose 플러그인을 갖춘 Docker Engine 또는 podman-compose를 사용하는 Rootless Podman을 지원한다. NjordDeploy는 설정 중 둘 중 하나를 자동 설치하고 구성할 수 있다. 대상 호스트에는 Python 인터프리터나 컴파일러를 설치하지 않으며, 운영 및 자동화 의존성은 컨테이너 안에서 실행한다.

대상별 활용과 프로젝트 정보

대상용도주요 기능
홈랩·개인정보 보호가정용 서버와 SBC원클릭 앱 100개 이상, L2 서브넷 자동 검색, 원클릭 웹 대시보드, 터미널 작업 없이 배포
개발자·DevOps사용자 정의 스택과 CI/CD 파이프라인Git 저장소를 Compose로 바꾸는 AI Component Studio, Docker·Podman 엔진, REST API와 CLI
MSP·IT 컨설턴트Proxmox 기반 사설 클라우드표준화된 15분 배포, PBS와 볼륨 상태를 이용한 이중 계층 재해 복구, GDPR·NIS2 100% 준수

저장소에는 에이전트 없는 프로비저닝 플레이북(ansible/), Docker·Podman 서비스 템플릿(component_templates/), 구성 요소 메타데이터(config/), 문서(docs/), Linux 실행 파일과 설치 스크립트(linux/), 테스트 도구와 서비스 설치 스크립트(scripts/)가 포함된다. src/ 아래에는 사용자용 웹 마법사와 OpenAPI 서버인 configurator_app/, 개발자 도구와 AI 생성기인 editor_app/, 배포·SSH·동기화·백업 관리자(managers/), L2 ARP·서브넷 검색 모듈(node_scanner.py), AI 오류 진단기와 컨테이너 엔진 및 Proxmox 클라이언트(utils/)가 있다. 테스트는 tests/, 프로젝트 설정과 의존성 잠금 파일은 pyproject.toml에 둔다.

초보자를 위한 빠른 시작 안내서와 Ollama를 이용한 클라우드 없는 AI 구성 요소 생성 사례인 100% 로컬 AI 및 결정적 IaC 사례 연구도 제공한다. Raspberry Pi 5의 실제 하드웨어 벤치마크를 다룬 DEV.to 글과 요약 문서도 볼 수 있다. 기여자는 아키텍처 문서와 데이터 계약을 참고하도록 안내돼 있다.

라이선스는 Business Source License 1.1(BSL-1.1)이다. 제작자는 개인 하드웨어, 가상 머신, 홈랩에서 실행하는 단독·커뮤니티 사용은 제한 없이 무료라고 명시했다. 각 릴리스 2년 뒤에는 Apache 2.0 라이선스로 조건 없이 전환한다. 여러 배포를 관리하거나 고객에게 호스팅을 제공하는 MSP용 다중 노드 오케스트레이션, 중앙 상태 대시보드, 원격 자동 업데이트는 Njord Console을 통해 지원하며, MSP 파일럿 이용을 안내하고 있다.