요구 사항
셀프 호스팅 Nodaro에 필요한 것: Docker 24 이상과 Compose v2, Supabase 데이터베이스, S3 호환 스토리지, 포트, 공급자 키 또는 Nodaro Cloud 연결을 확인하세요.
셀프 호스팅 Nodaro의 요구 사항은 다섯 가지입니다. Docker, 로그인이 포함된 데이터베이스, S3 호환 오브젝트 스토리지, Redis, 그리고 모델 공급자 하나 이상입니다. Community Edition의 Compose 스택에는 데이터베이스, 스토리지, Redis가 번들되어 있으므로, 서버 한 대에서는 Docker와 모델 공급자만 있으면 됩니다. 이 페이지의 나머지 내용은 선택 사항이거나 프로덕션용입니다.
필요한 것
| 요구 사항 | Compose 스택에 번들된 것 | 또는 직접 준비 |
|---|---|---|
| Docker 24 이상과 Docker Compose v2 | — | 필수입니다. docker-compose가 아니라 docker compose로 실행합니다. |
| 데이터베이스와 로그인 | Supabase Postgres, GoTrue, PostgREST. 부팅할 때 마이그레이션이 적용됩니다. 이메일과 비밀번호로 가입합니다. | 관리형 Supabase 프로젝트. 무료 등급으로 충분합니다. 프로젝트 URL, service-role 키, anon 키가 필요하며, 마이그레이션은 직접 적용합니다. |
| 오브젝트 스토리지 | MinIO. 미디어는 내 디스크에 저장됩니다. | S3 호환 스토리지라면 무엇이든 됩니다. 테스트된 스토리지: Cloudflare R2(권장, 이그레스 요금 없음), AWS S3, MinIO, Backblaze B2. |
| 큐 | Redis 7 | 내 Redis. 클러스터나 Sentinel 엔드포인트도 됩니다. |
| 모델 공급자 | — | 공급자 키 하나 이상, 또는 Nodaro Cloud 연결 |
Nodaro는 공개 미디어 URL을 브라우저에 넘겨주므로, 사용자의 브라우저가 로그인 없이 미디어를 읽을 수 있어야 합니다. 번들된 MinIO는 앱 자체 주소의 /storage/ 아래에서 이를 처리합니다. 내 버킷을 쓴다면 오브젝트 스토리지 구성을 참조하세요.
모델 공급자
AI 모델을 호출하는 노드에는 공급자가 필요합니다. 공급자가 없어도 설치는 시작되고 데모도 열리지만, 모델 노드는 실행할 수 없습니다. /setup 페이지나 .env에 다음 키 중 하나 이상을 추가하세요.
| 변수 | 제공되는 것 |
|---|---|
KIE_API_KEY | 가장 넓은 모델 범위: 이미지, 동영상, 오디오, 텍스트 모델 |
REPLICATE_API_TOKEN | 자체 카탈로그가 있는 대체 공급자 |
ANTHROPIC_API_KEY | 텍스트 노드용 Claude 모델 |
ELEVENLABS_API_KEY | 음성 기능: 텍스트 음성 변환, 더빙, 보이스 체인저, 강제 정렬 |
FAL_KEY | 선택 사항입니다. Sync Lipsync v3 같은 모델에 쓰입니다. 이 키가 없으면 해당 모델을 쓸 수 없고, 앱의 나머지 부분은 영향을 받지 않습니다. |
키 대신 설치를 Nodaro Cloud 계정에 연결할 수도 있습니다. Nodaro Cloud에 연결을 참조하세요. 특정 노드에서 쓰는 키를 포함한 전체 키 목록은 공급자 키에 있습니다.
선택 사항
- Node.js 22 이상: 개발할 때 API나 워커를 Docker 밖에서 실행하는 데 필요합니다.
tools/의 명령줄 프로브와 키 생성기도 Node.js로 실행됩니다. - 도메인 이름과 TLS 인증서: 프로덕션에 필요합니다. 리버스 프록시와 HTTPS를 참조하세요.
포트
| 포트 | 사용하는 것 | Compose 파일의 공개 여부 |
|---|---|---|
3000 | 앱: 편집기, API, 미디어, 로그인이 모두 하나의 출처에 있습니다. | 예 |
9001 | 문제 해결용 MinIO 콘솔 | 예, 127.0.0.1에서만 |
80과 443 | HTTPS용 리버스 프록시 | Nodaro는 공개하지 않음 |
9000 | 컨테이너 안의 API. MCP 클라이언트가 여기에 직접 닿아야 합니다. | 아니요. MCP를 참조하세요. |
Redis와 데이터베이스는 Compose 네트워크 내부에만 있으며, 내 컴퓨터의 포트를 쓰지 않습니다. 3000이나 9001이 이미 사용 중이라면 docker-compose.community.yml에서 해당 매핑의 호스트 쪽 포트를 바꾸세요.
디스크
- 이미지. 첫 부팅에서 약 2.4GB를 내려받습니다.
- 볼륨.
db-data에는 데이터베이스,minio-data에는 미디어,redis-data에는 큐,app-data에는 인스턴스 암호화 키가 저장됩니다. Nodaro는 저장된 미디어를 스스로 삭제하지 않으므로 미디어 볼륨은 결과가 생길 때마다 커집니다. 오래된 미디어가 만료되게 하려면 버킷에 수명 주기 규칙을 추가하세요. 확장을 참조하세요.
머신 크기
기본 구성은 모든 것을 컨테이너 하나에서 실행하며, 활성 사용자 약 5명까지 충분합니다. 가장 무거운 작업은 렌더링입니다. 렌더링 워커는 헤드리스 Chrome을 실행하고 CPU에 따라 제한되므로, 머신 한 대에 렌더링 워커 1~2개를 계획하세요. 사용자가 더 많다면 워커를 여러 컨테이너로 나누세요. 확장을 참조하세요.
앱 이미지에는 amd64와 arm64 머신용 빌드가 있습니다.
Windows
Windows에서는 백업과 복원 스크립트를 PowerShell이나 WSL이 아니라, Git for Windows가 설치하는 셸인 Git Bash에서 실행하세요. 백업과 복원을 참조하세요.
자주 묻는 질문
셀프 호스팅 Nodaro에는 어떤 Docker 버전이 필요한가요?
Docker 24 이상과 Docker Compose v2가 필요합니다. docker-compose가 아니라 docker compose로 실행합니다.
Nodaro를 셀프 호스팅하려면 Supabase 계정이 필요한가요?
아니요. Community Edition의 Compose 스택에는 Supabase Postgres, GoTrue, PostgREST가 번들되어 있고, 마이그레이션도 자동으로 적용됩니다. 관리형 Supabase 프로젝트는 선택 사항이며 필수가 아닙니다.
Nodaro에서 쓸 수 있는 오브젝트 스토리지는 무엇인가요?
번들된 MinIO나 S3 호환 스토리지라면 무엇이든 쓸 수 있습니다. Cloudflare R2, AWS S3, MinIO, Backblaze B2에서 테스트되었으며, 이그레스 요금이 없는 Cloudflare R2를 권장합니다.
Nodaro 이미지는 ARM 서버에서 실행되나요?
네. 앱 이미지에는 amd64 빌드와 함께 arm64 빌드도 있습니다.
컨테이너 하나로 사용자 몇 명까지 지원할 수 있나요?
컨테이너 하나로 구성하면 활성 사용자 약 5명까지 충분합니다. 그보다 많으면 워커를 별도 컨테이너로 분리하세요.
관련 문서
빠른 시작
설치
공급자 키
데이터베이스
확장
최종 업데이트