TL;DR
- marimohub는 자체 인프라에서 노트북을 저장·관리·실행하려는 팀을 위한 셀프 호스팅 플랫폼으로, 스토리지·컴퓨팅·인증 제공자를 직접 선택하는 구조임.
- 별도 데이터베이스 없이 노트북 메타데이터, 버전, 스냅샷, 시스템 기록을 객체 스토리지에 저장하며, 객체 스토리지가 백업과 복구의 기준이 됨.
- CoreWeave CAIOS, S3 호환 스토리지, Google Cloud Storage, Azure Blob Storage, 파일 시스템, Cloudflare R2 등과 여러 컴퓨팅·인증 제공자를 선택할 수 있음.
- 로컬 개발 환경은 메모리 스토리지, 로컬 컴퓨팅, 고정된 로컬 슈퍼 관리자 인증을 사용하며, 영구 저장은 환경 변수로 설정할 수 있음.
- 설정 기반 서버 이미지와 Helm, Kubernetes, AWS, GCP, Azure, Cloudflare 등의 배포 경로를 제공하지만, 호스팅 SaaS나 운영을 맡아주는 서비스는 아직 제공 범위가 아님.
marimohub
- marimohub는 marimo 노트북을 저장·관리·실행하는 셀프 호스팅 플랫폼임.
- 자체 인프라에서 노트북을 실행하면서 스토리지, 컴퓨팅, 인증 제공자를 직접 선택하려는 팀을 대상으로 함.
- 별도 데이터베이스가 없으며, 노트북 메타데이터, 버전, 스냅샷, 시스템 기록이 객체 스토어에 저장됨. 백업과 복구의 기준 데이터는 객체 스토어임.
- 외부 시스템은 TypeScript 포트 뒤에 배치되어 있어 도메인 로직을 변경하지 않고 운영자가 제공자를 교체할 수 있음.
제공 기능
- 스토리지 선택: CoreWeave CAIOS, S3 호환 스토리지, Google Cloud Storage, Azure Blob Storage, 파일 시스템, Cloudflare R2.
- 컴퓨팅 선택: CoreWeave Sandboxes, Modal, AWS ECS Fargate, Kubernetes, Docker, Podman, E2B, Cloudflare Containers, 로컬 하위 프로세스.
- 인증 선택: OpenID Connect, 신뢰된 SSO 프록시, Google IAP, Cloudflare Access.
- 선택 기능: 관리형 인공지능(AI), 버전 관리 통합, 암호화 값, 외부 시크릿 참조, 단기 연합 클라우드 액세스.
- 운영 범위가 작고 제공자를 명시적으로 선택하는 셀프 호스팅 노트북 허브가 필요할 때 적합함. 호스팅형 서비스형 소프트웨어(SaaS)를 원하거나 스토리지·컴퓨팅·인증을 직접 운영하고 싶지 않은 경우에는 현재 적합한 형태가 아닐 가능성이 큼.
로컬에서 사용하기
- 요구 사항은 Node.js 24.11 이상, pnpm 10.34.5, 그리고 로컬 노트북 커널을 시작하려는 경우 uv와 Python임.
pnpm install --frozen-lockfile로 의존성을 설치하고pnpm dev로 개발 환경을 실행함.pnpm dev는 TypeScript 서버를 감시하면서 Vite 웹 앱과 함께 실행하며, 프로덕션 서버 빌드는 건너뜀.- 로컬 스택 구성은 다음과 같음.
- 비영구 메모리 스토리지.
uv run marimo edit를 시작하는 로컬 컴퓨팅.- 모든 사용자를 고정된 로컬 슈퍼 관리자로 로그인시키는 개발 인증.
- 환영 노트북과 샘플 환경을 포함한 통합 기능 및 메타데이터 탐색.
MARIMOHUB_DEV_PERSIST=true를 설정하면 Git에서 무시되는.context/dev-storage디렉터리에 로컬 상태를 보존함. 개발 스택을 중지한 뒤pnpm dev:reset을 실행하면 해당 상태를 지움.- 전체 로컬 실행 경로와 각 백엔드의 프로덕션 교체 방법은 로컬 테스트 안내에서 확인할 수 있음.
배포
- 대부분의 배포는 설정 기반 서버 이미지를 사용하며,
MARIMOHUB_*환경 변수를 설정하면@marimo-hub/config가 어댑터를 선택함. - 사용자 지정 런타임은 패키지를 라이브러리로 직접 조합할 수 있음.
- 시작 안내를 확인한 뒤 다음 배포 가이드 중 하나를 선택함.
- Helm.
- CoreWeave(CKS).
- Kubernetes.
- AWS.
- GCP.
- Azure.
- Cloudflare.
- 참고 자료는 다음과 같음.
- Configuration: 모든
MARIMOHUB_*변수. - Storage, Compute, and Auth: 백엔드 선택지.
- Security, Operations, and Troubleshooting: 프로덕션 운영.
- API & client: HTTP 응답 봉투와 생성된 클라이언트.
기여
- 저장소는 pnpm과 Vite-plus를 사용하는 TypeScript 모노레포임.
pnpm check,pnpm test,pnpm build로 검사·테스트·빌드를 실행함.- 풀 리퀘스트를 열기 전에
CONTRIBUTING.md를 읽어야 함. - 아키텍처와 내부 설계는
development_docs/architecture.md와development_docs/bucket_spec.md에서 확인함. - 통합 기능 기여자는
development_docs/integrations.md도 읽어야 함. - marimohub는 Apache License, Version 2.0으로 배포되며, 라이선스 전문은
LICENSE에 있음.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요