Open Notebook & Jupyter Notebook Docker Compose Setup¶
이 문서는 AI 기반 지식 관리 도구인 **Open Notebook**과 데이터 과학/분석을 위한 **Jupyter Notebook**을 Docker Compose로 설치하고 운영하는 방법을 설명합니다.
1. Open Notebook¶
Open Notebook은 사용자가 문서, 웹 페이지, 이미지 등 다양한 데이터를 업로드하고 AI 모델(OpenAI, Anthropic, Ollama 등)을 활용하여 인사이트를 도출할 수 있는 지식 관리 시스템입니다.
사전 준비 사항¶
- Docker 및 Docker Compose 설치 완료
- (선택) 외부 AI API Key (OpenAI, Anthropic 등) 또는 내부 Ollama 서버
docker-compose.yml¶
다음은 Open Notebook을 설치하기 위한 예제 구성입니다.
services:
open-notebook:
image: opennotebook/opennotebook:latest
container_name: open-notebook
restart: always
ports:
- "8090:8090" # 호스트 포트:컨테이너 포트
volumes:
- ./data:/app/data # 데이터 지속성 보장
environment:
# --- 필수/권장 설정 ---
- PORT=8090
# --- AI Provider Settings (하나 이상 설정 권장) ---
# 1. OpenAI
- OPENAI_API_KEY=sk-proj-... # OpenAI API Key
# 2. Anthropic (Claude)
- ANTHROPIC_API_KEY=sk-ant-...
# 3. Google Gemini
- GOOGLE_API_KEY=AIzaSy...
# 4. Ollama (Local LLM)
# 호스트 머신의 Ollama에 접속하려면 host.docker.internal 사용 (Linux는 추가 설정 필요할 수 있음)
- OLLAMA_API_BASE_URL=http://host.docker.internal:11434
# 5. OpenAI Compatible (LocalAI, vLLM, DeepSeek 등)
# OpenAI 호환 API를 제공하는 다른 서비스 연결 시 사용
- OPENAI_COMPATIBLE_API_KEY=your-api-key # 인증이 필요 없다면 'sk-dummy' 등 임의 값
- OPENAI_COMPATIBLE_BASE_URL=http://your-local-ai-host:8080/v1
# 모델명 지정이 필요한 경우 (서비스에 따라 다름, UI에서 설정하기도 함)
- OPENAI_COMPATIBLE_MODEL_NAME=llama-3-70b
# networks: # 필요한 경우 네트워크 설정 추가
# - my-network
설치 및 실행¶
- 프로젝트 디렉토리 생성 및 이동:
- 위의 내용을
docker-compose.yml파일로 저장합니다. - 컨테이너 실행:
- 웹 브라우저에서
http://localhost:8090으로 접속합니다.
2. Jupyter Notebook¶
Jupyter Notebook은 파이썬 코드를 실행하고 데이터를 시각화할 수 있는 가장 대중적인 오픈소스 웹 애플리케이션입니다.
docker-compose.yml¶
데이터 과학용 라이브러리가 포함된 datascience-notebook 이미지를 사용하는 예제입니다.
services:
jupyter:
image: jupyter/datascience-notebook:latest
container_name: jupyter-notebook
restart: unless-stopped
ports:
- "8888:8888"
volumes:
- ./notebooks:/home/jovyan/work # 작업 파일 저장 경로
environment:
- JUPYTER_ENABLE_LAB=yes # JupyterLab 활성화
- NB_UID=1000 # 사용자 ID 권한 설정 (필요 시 변경)
- NB_GID=100 # 그룹 ID 설정
# - CHOWN_HOME=yes # 권한 문제 발생 시 주석 해제
# - CHOWN_HOME_OPTS='-R'
command: start-notebook.sh --NotebookApp.token='my-secret-token' # 접속 토큰 설정
설치 및 실행¶
- 디렉토리 생성:
docker-compose.yml작성 후 실행:- 접속:
http://localhost:8888?token=my-secret-token(또는 로그에 출력된 URL 확인)
주요 이미지 태그¶
jupyter/base-notebook: 최소한의 기능만 포함jupyter/minimal-notebook: 기본 유틸리티 포함jupyter/scipy-notebook: Pandas, Matplotlib 등 과학 계산용jupyter/datascience-notebook: Scipy + R, Julia 등 포함