시놀로지 Gemma 4 설치 완벽 가이드|Container Manager + Ollama (2026년 최신)

시놀로지 NAS에 Gemma 4를 설치하는 방법, Container Manager와 Ollama 기준으로 단계별로 정리했습니다. DSM 7.2 이상 환경에서 실제 설치 순서와 자주 막히는 지점을 확인하세요.

시놀로지 NAS에 AI 모델을 설치한다고 하면 왠지 어렵게 느껴지는데, 실제로 해보면 생각보다 단계가 단순합니다. Container Manager에서 Ollama 이미지를 받고, 모델을 pull하고, Open WebUI를 연결하면 끝이거든요.

다만 막히는 지점이 꽤 명확합니다. 포트 설정을 빼먹거나, 볼륨 경로를 잘못 잡거나, 메모리 제한이 걸려 있거나. 이 글에서는 DSM 7.2 이상 + Container Manager 환경 기준으로 Gemma 4를 처음 설치하는 전 과정을 순서대로 정리합니다. 설치 전 확인해야 할 기종·RAM 조건이 궁금하다면 시놀로지 NAS 로컬 AI 실행 조건 글을 먼저 보고 오시는 걸 추천드립니다.

3줄 요약
• RAM 12GB 이상 + 인텔 x86 기종이라면 이 가이드 그대로 따라가면 설치 완료까지 30분 안에 됩니다.
• Ollama 컨테이너 → 모델 pull → Open WebUI 순서를 지키는 게 핵심이고, 볼륨 경로 설정이 가장 자주 막히는 지점이에요.
• 결국 설치보다 "어떤 모델 크기를 선택하느냐"가 실사용 만족도를 결정합니다.

설치 전 확인 사항

설치를 시작하기 전에 아래 세 가지를 먼저 체크하세요. 하나라도 빠지면 중간에 막히는 경우가 많습니다.

  • DSM 버전: 7.2 이상인지 확인합니다. 제어판 → 정보 센터에서 확인 가능해요. 7.1 이하라면 Container Manager 대신 구버전 Docker 패키지가 설치돼 있을 수 있고, 이 경우 일부 이미지가 호환되지 않을 수 있습니다.
  • Container Manager 설치 여부: 패키지 센터에서 "Container Manager"가 설치돼 있는지 확인합니다. 없으면 패키지 센터에서 검색해서 설치하면 됩니다.
  • RAM 여유 공간: DSM 자체가 1~2GB를 점유하므로, 실제 AI 모델에 할당되는 RAM은 총 RAM에서 2GB를 뺀 값으로 계산하는 게 현실적입니다. 12GB 기종이라면 10GB 내외가 모델 공간으로 쓰입니다.
주의 — CPU 아키텍처 먼저 확인하세요
DS223, DS423(Plus 아님), DS124 같은 Realtek ARM 기반 기종은 Ollama 컨테이너 실행이 불안정할 수 있습니다. 설치 전 시놀로지 공식 스펙 페이지에서 내 기종 CPU가 인텔 x86인지 먼저 확인하는 게 순서예요.
GPU 가속은 현재 미지원
DS920+ 같은 기종에는 인텔 UHD 600 내장 그래픽이 있지만, 시놀로지 환경의 Docker판 Ollama는 현재 GPU 가속을 공식 지원하지 않습니다. 오직 CPU만으로 연산하기 때문에, 모델 실행 중 NAS 팬 소음이 평소보다 커질 수 있어요. 특히 처음 응답을 생성할 때 CPU 사용률이 순간적으로 치솟는 경우가 있으니 미리 알아두는 게 좋습니다.

전체 설치 흐름 — 순서가 중요합니다

설치는 크게 세 단계입니다. 순서를 지키는 게 중요해요. Open WebUI를 먼저 깔면 Ollama와 연결이 안 되는 경우가 있거든요.

  1. Ollama 컨테이너 설치 및 실행
  2. SSH 또는 컨테이너 터미널에서 Gemma 4 모델 pull
  3. Open WebUI 컨테이너 설치 및 Ollama 연결

간단하게 말하면요. Ollama가 AI 모델을 실행하는 엔진이고, Open WebUI가 브라우저에서 ChatGPT처럼 대화할 수 있게 해주는 인터페이스입니다. 둘을 따로 설치하고 연결하는 구조예요.synology_gemma4_container_structure

전체 연결 구조
브라우저 → Open WebUI(:3000) → Ollama(:11434) → 모델 파일(/docker/ollama)
Open WebUI와 Ollama는 같은 Docker bridge network 안에서 컨테이너 이름으로 서로를 찾습니다.

STEP 1 — Ollama 컨테이너 설치

1-1. Container Manager에서 레지스트리 검색

Container Manager를 열고 왼쪽 메뉴에서 레지스트리를 클릭합니다. 검색창에 ollama를 입력하면 ollama/ollama 이미지가 나옵니다. 선택 후 다운로드 버튼을 누르고, 태그는 latest로 선택하면 됩니다.

다운로드가 완료되면 왼쪽 메뉴 이미지 탭에서 확인할 수 있어요.

1-2. 컨테이너 생성 — 설정이 핵심입니다

이미지 탭에서 ollama/ollama를 선택하고 실행을 클릭합니다. 컨테이너 생성 화면에서 아래 항목을 반드시 설정해야 합니다.

설정 항목입력값이유
컨테이너 이름ollamaOpen WebUI 연결 시 이름으로 참조함
포트 설정로컬 11434 → 컨테이너 11434Ollama 기본 API 포트
볼륨 마운트NAS 폴더 /docker/ollama → 컨테이너 /root/.ollama모델 파일 저장 위치. 이게 빠지면 컨테이너 재시작 시 모델이 사라집니다
메모리 제한제한 없음 (또는 최대값)제한이 걸리면 모델 로딩 중 컨테이너 강제 종료됨
재시작 정책항상 재시작NAS 재부팅 후 자동 실행

표에서 가장 중요한 건 볼륨 마운트와 메모리 제한입니다. 볼륨을 설정하지 않으면 컨테이너를 재시작할 때마다 다운로드한 모델이 전부 날아가요. 메모리 제한은 기본값이 걸려 있는 경우가 있으니 반드시 확인하는 게 좋습니다.

볼륨으로 지정할 NAS 폴더 /docker/ollama는 미리 File Station에서 생성해두는 게 좋습니다. 폴더가 없으면 볼륨 마운트가 작동하지 않는 경우가 있거든요.

폴더 권한 오류가 나는 경우
/docker/ollama
폴더를 생성했는데 모델 다운로드 중 "permission denied" 오류가 뜨면 권한 문제일 가능성이 높습니다. File Station에서 해당 폴더를 우클릭 → 속성 → 권한 탭에서 Everyone 또는 docker 그룹에 읽기·쓰기 권한이 설정돼 있는지 확인하세요.(혹은 sc-download 그룹이나 현재 로그인한 사용자 그룹에 권한을 주면 더 안전합니다) 이 설정이 빠지면 컨테이너 내부에서 폴더에 쓰기가 안 됩니다.

1-3. 컨테이너 실행 확인

설정 완료 후 컨테이너를 실행합니다. Container Manager 컨테이너 탭에서 ollama실행 중 상태인지 확인하세요. 로그 탭을 열어보면 Listening on 0.0.0.0:11434 문구가 보이면 정상입니다.



STEP 2 — Gemma 4 모델 pull

2-1. 컨테이너 터미널 접속

Container Manager에서 실행 중인 ollama 컨테이너를 클릭하고, 상단 터미널 탭을 선택합니다. 새 터미널 열기를 클릭하면 컨테이너 내부 쉘이 열립니다. SSH 설정 없이도 바로 접속할 수 있는 방법이라 처음에는 이 방법이 더 편합니다.

2-2. 어떤 모델 크기를 pull할지 결정

pull 명령어를 입력하기 전에 내 RAM에 맞는 모델 크기를 먼저 정하는 게 순서입니다. 다운로드 후 RAM이 부족해서 못 쓰는 상황이 꽤 자주 나오거든요.

NAS RAM추천 모델pull 명령어파일 크기
8GBgemma4:2bollama pull gemma4:2b약 1.5GB
12GB
(가장 흔한 구성)
gemma4:e4b ← 이 사양 최적ollama pull gemma4:e4b약 8.1GB
16GBgemma4:9b 또는 e4bollama pull gemma4:9b약 5.4GB
32GB+gemma4:27bollama pull gemma4:27b약 16GB

Gemma 4 E4B(Effective 4B)는 구글이 NAS처럼 GPU 없는 로컬 환경을 겨냥해 효율성을 집중 개선한 모델입니다. 파라미터 수는 적지만 한국어 명령 이행 능력과 추론 품질이 7B급과 비교해도 크게 뒤처지지 않아요. 12GB 구성에서 속도와 품질을 동시에 잡을 수 있는 현실적인 최선입니다. 시놀로지 환경에서 처음 시작한다면 다른 모델을 고민하기 전에 이걸 먼저 써보는 걸 권장합니다.

2-3. pull 명령어 입력

synology ollama setting

컨테이너 터미널을 실행한 화면에서 좌측 상단에 [생성] 버튼을 누르고 '명령으로 실행'을 클릭합니다. (드롭다운 메뉴에 bash가 있으면 bash를 선택하시면 됩니다.)

synology ollama bash

'명령을 입력하십시오:' 빈칸에 영어 소문자로 bash라고 입력하세요. 그러면 팝업창이 닫히면서 root@...:/# 같은 글씨가 나타납니다.

이제 터미널에서 내 RAM에 맞는 명령어를 입력합니다. 12GB 기준으로는 아래와 같습니다.

ollama pull gemma4:e4b

다운로드가 시작되면 진행률이 표시됩니다. 파일 크기가 9GB 내외라 NAS 인터넷 연결 속도에 따라 10분~30분 정도 걸릴 수 있어요. 다운로드 중에는 터미널을 닫지 마세요.

완료 후 아래 명령어로 정상적으로 받아졌는지 확인할 수 있습니다.

ollama list

목록에 gemma4:e4b가 보이면 성공입니다.



STEP 3 — Open WebUI 설치 및 연결

Ollama만 설치한 상태에서도 터미널로 AI를 쓸 수는 있어요. 그런데 실제로 편하게 쓰려면 브라우저에서 대화형으로 쓸 수 있는 Open WebUI를 붙이는 게 훨씬 낫습니다.

3-1. Open WebUI 이미지 다운로드

Container Manager → 레지스트리에서 open-webui를 검색합니다. ghcr.io/open-webui/open-webui 이미지를 선택하고 태그는 main으로 다운로드합니다.

3-2. 컨테이너 생성 설정

설정 항목입력값비고
컨테이너 이름open-webui
포트 설정로컬 3000 → 컨테이너 8080브라우저 접속 포트
볼륨 마운트/docker/open-webui/app/backend/data대화 기록·설정 유지
환경 변수OLLAMA_BASE_URL = http://ollama:11434Ollama 컨테이너 이름으로 연결
재시작 정책항상 재시작

환경 변수 OLLAMA_BASE_URL 설정이 핵심이에요. http://ollama:11434에서 ollama 부분이 앞서 만든 Ollama 컨테이너 이름과 정확히 일치해야 합니다. 이게 작동하는 이유는 Docker 내부 DNS 덕분이에요. 같은 bridge network 안의 컨테이너끼리는 IP 대신 컨테이너 이름을 주소처럼 쓸 수 있습니다. http://ollama:11434라고 쓰면 Docker가 알아서 Ollama 컨테이너의 내부 IP로 변환해줘요. 이름이 다르거나 네트워크가 분리돼 있으면 "Ollama에 연결할 수 없습니다" 오류가 뜨거든요.

연결이 안 된다면 http://NAS의내부IP:11434 형태로 직접 IP를 입력하는 방법으로 우회할 수 있어요. 이 경우에는 네트워크 설정과 무관하게 작동합니다.

단, 이 방식(컨테이너 이름으로 참조)이 작동하려면 두 컨테이너가 같은 Docker 네트워크에 있어야 합니다. Container Manager에서 네트워크를 따로 설정하지 않았다면 기본 bridge 네트워크를 공유하고 있어서 대부분 그냥 됩니다. 안 된다면 http://NAS의내부IP:11434 형태로 직접 IP를 입력하는 방법으로 우회할 수 있어요.

3-3. 브라우저에서 접속 확인

Open WebUI 컨테이너가 실행 중 상태가 되면 브라우저에서 아래 주소로 접속합니다.

http://NAS의내부IP:3000

처음 접속하면 관리자 계정을 만드는 화면이 나옵니다.

처음 접속하면 관리자 계정을 만드는 화면이 나옵니다. 이 계정은 NAS 내부 데이터베이스에만 저장되므로 외부 서버에 가입하는 게 아니에요. 외부로 데이터가 전송되지 않으니 안심하고 만들면 됩니다. 이메일 형식으로 입력하면 되고, 실제로 이메일 인증이 필요한 건 아닙니다. 로그인 후 상단 모델 선택 드롭다운에서 gemma4:e4b가 보이면 연결 완료예요.

여기까지 오면 설치 완료예요
입력창에 한국어로 메시지를 보내보면 됩니다. 처음 대화를 시작할 때 모델이 RAM에 올라가는 시간이 있어서 첫 응답이 10~30초 걸릴 수 있어요. 두 번째 메시지부터는 훨씬 빠릅니다.



UI 대신 YAML로 한 번에 설치하는 방법

Container Manager UI에서 하나하나 설정하는 게 번거롭다면, YAML 파일을 붙여넣는 방식이 훨씬 빠릅니다. 오타나 설정 누락도 줄어들어요. Container Manager → 프로젝트 → 새 프로젝트 생성에서 아래 코드를 그대로 붙여넣으면 Ollama와 Open WebUI가 동시에 설치됩니다.

version: "3.8"

services:
  ollama:
    image: ollama/ollama:latest
    container_name: ollama
    restart: always
    ports:
      - "11434:11434"
    volumes:
      - /volume1/docker/ollama:/root/.ollama

  open-webui:
    image: ghcr.io/open-webui/open-webui:main
    container_name: open-webui
    restart: always
    ports:
      - "3000:8080"
    environment:
      - OLLAMA_BASE_URL=http://ollama:11434
    volumes:
      - /volume1/docker/open-webui:/app/backend/data
    depends_on:
      - ollama

볼륨 경로 /volume1/docker/...는 내 NAS의 실제 볼륨 이름에 맞게 수정하세요. volume1이 아니라 volume2volume3일 수 있습니다. DSM → 저장소 관리자에서 확인할 수 있어요. SSD 전용 볼륨이 있다면 Ollama 경로를 해당 볼륨으로 지정하는 게 좋습니다.

synology yaml setting

프로젝트 생성 화면에서 '원본'을 '업로드'가 아닌 'docker-compose.yml 생성'으로 선택하셔야 코드를 바로 붙여넣을 수 있는 창이 나옵니다. 코드를 붙여넣은 이후에 웹포털 설정 화면에서는 체크하지 말고 바로 '다음' 버튼을 누르셔서 완료하시면 됩니다. 수동으로 하나씩 설정하실 분들은 1~3단계를 차례로 따라오시고, YAML 코드를 쓰신 분들은 바로 2-3, 3-3단계(모델 다운로드)로 넘어가시면 됩니다.

YAML 방식의 장점
두 컨테이너가 자동으로 같은 Docker 네트워크(프로젝트명_default)에 묶입니다. depends_on 설정 덕분에 Ollama가 먼저 기동된 후 Open WebUI가 실행되는 순서도 자동으로 보장되고요. UI에서 수동 설정할 때 자주 생기는 네트워크 연결 오류가 줄어듭니다.

설치 후 응답이 느리거나 연결이 안 될 때

설치는 됐는데 뭔가 이상한 경우, 대부분 아래 네 가지 중 하나입니다.

  • "모델 목록이 비어 있다" / "연결 실패" 오류 — Open WebUI 환경 변수의 OLLAMA_BASE_URL을 다시 확인하세요. 컨테이너 이름 오타 또는 포트 번호 누락이 원인인 경우가 많아요. NAS 내부 IP를 직접 써서 테스트해보는 게 빠릅니다.
  • 컨테이너가 실행 중이다가 자동 종료된다 — 메모리 제한이 걸려 있는지 확인하세요. Ollama 컨테이너 설정을 열어서 제한값이 있으면 해제합니다. 모델이 RAM을 꽉 채우는 순간 컨테이너가 강제 종료되는 거거든요.
  • 첫 응답이 너무 오래 걸린다 (2분 이상) — 모델 파일이 HDD에 저장돼 있을 가능성이 높습니다. 볼륨 마운트 경로를 SSD 볼륨 아래로 변경하면 로딩 속도가 크게 개선되는 경우가 많아요. 또는 다른 패키지가 RAM을 많이 점유하고 있진 않은지 리소스 모니터에서 확인해보세요.
  • NAS 내부에서는 되는데 외부에서 안 된다 — 외부 접속은 기본 설정으로는 막혀 있습니다. 외부에서 쓰려면 DSM의 역방향 프록시 설정이나 Tailscale VPN 연결이 필요해요. 보안상 Open WebUI를 인터넷에 직접 노출하는 건 권장하지 않습니다. 그리고 NAS와 접속 기기 사이 네트워크 연결이 무선이라면 유선으로 바꾸는 것만으로도 응답 체감이 달라질 수 있어요. 인터넷 속도 점검 기본 순서를 참고해서 NAS 연결 상태도 함께 확인해보는 게 좋습니다.
자주 발생하는 설치 오류: Error response from daemon...
프로젝트 빌드를 눌렀는데 Error response from daemon: Head "https://registry-1.docker.io/... 에러가 뜨면서 다운로드가 안 되는 경우가 있습니다. 코드가 틀린 것이 아니라 NAS가 도커 허브 서버(다운로드 서버)를 찾지 못하는 DNS 네트워크 문제입니다.해결 방법:
DSM [제어판] → [네트워크] → [일반] 탭에서 'DNS 서버 수동 구성'을 체크하세요. 기본 DNS 서버는 기존 값(보통 공유기 IP인 192.168.1.1 등)을 그대로 두고, 대체 DNS 서버에만 1.1.1.1(클라우드플레어) 또는 8.8.8.8(구글)을 입력하고 적용하세요. 다시 빌드해보면 정상적으로 다운로드가 시작됩니다.

설치 완료 후 바로 써볼 수 있는 활용 예시

Gemma 4 e4b 기준으로 이런 작업들은 충분히 실용적인 속도가 나옵니다.

  • 문서 요약: 긴 텍스트를 붙여넣고 "3줄로 요약해줘" 형태로 바로 사용 가능
  • 블로그 초안 잡기: 키워드나 주제를 주면 초안 구조를 잡아주는 용도로 자주 쓰입니다. 구독형 AI와 병행해서 초안은 로컬, 마무리는 클라우드로 나눠 쓰는 분들도 많아요.
  • 개인 메모 기반 Q&A: Open WebUI의 문서 업로드 기능을 쓰면 내 메모나 회의록을 기반으로 질문할 수 있습니다. 외부 서버로 데이터가 나가지 않아서 개인정보 걱정 없이 쓸 수 있는 게 장점이에요.
  • 간단한 코드 작성 보조: Python이나 Shell 스크립트 수준의 간단한 코드는 충분히 도움이 됩니다. 복잡한 코드베이스 리뷰는 27B 이상 모델이 더 나은 편이에요.

Gemma 4 멀티모달 기능 — 이미지도 분석됩니다

Gemma 4는 텍스트뿐 아니라 이미지 입력도 지원하는 멀티모달 모델입니다. 추가 설정 없이 Open WebUI에서 바로 쓸 수 있어요.

  • Open WebUI 대화창 하단 입력창 왼쪽의 클립 아이콘(📎)을 클릭하면 이미지를 업로드할 수 있어요.
  • 이미지를 첨부한 뒤 "이 사진에서 텍스트를 추출해줘" 또는 "이 이미지에 무엇이 있는지 설명해줘"처럼 입력하면 됩니다.
  • 영수증 사진 텍스트 추출, 스크린샷 내용 분석, 손글씨 인식 같은 작업에 실용적으로 쓸 수 있어요.

다만 이미지 분석은 텍스트보다 연산이 훨씬 많습니다. RAM 12GB 기준으로 고해상도 이미지 처리 시 응답 시간이 텍스트 대비 2~3배 걸릴 수 있어요. 저해상도 또는 리사이즈된 이미지로 먼저 테스트해보는 게 좋습니다.

클라우드 AI 구독료와 로컬 AI 운영 비용을 총액 기준으로 비교하면 실제로 언제 손익분기가 나는지 궁금하다면, 시놀로지 로컬 AI vs ChatGPT Plus 비용 비교 글을 보시길 추천드립니다. 참고로 ChatGPT 구독을 원화로 결제하느냐 달러로 결제하느냐에 따라 월 부담이 달라지기도 하는데, ChatGPT 원화·달러 결제 조건 비교 글을 참고해 보면 로컬 전환 결정에도 도움이 됩니다.

자주 묻는 질문

Q. SSH 없이 설치가 가능한가요?

네, 이 가이드에서 설명한 Container Manager 터미널 방법을 쓰면 SSH 설정 없이도 모델 pull까지 전부 가능합니다. SSH가 익숙하다면 그쪽이 더 빠르지만, 필수는 아니에요.

Q. NAS 재부팅 후에도 AI가 자동으로 실행되나요?

컨테이너 재시작 정책을 "항상 재시작"으로 설정했다면 자동으로 실행됩니다. 다만 모델이 RAM에 올라오는 건 첫 대화 요청이 들어올 때라서, 재부팅 직후 첫 응답은 조금 더 걸릴 수 있어요.

Q. 모델을 여러 개 설치해도 되나요?

저장 공간만 충분하면 여러 모델을 pull해서 보관할 수 있습니다. Open WebUI에서 모델을 선택해서 전환하는 방식으로 쓸 수 있어요. 다만 한 번에 두 모델을 동시에 올려두면 RAM을 두 배로 점유하니까, 사용하지 않는 모델은 꺼두는 게 좋습니다.

Q. 모델 파일을 나중에 다른 볼륨으로 옮길 수 있나요?

가능합니다. Ollama 컨테이너를 중지하고, /docker/ollama 폴더 자체를 새 위치로 복사한 뒤 볼륨 마운트 경로를 변경하면 됩니다. 다시 pull할 필요 없이 기존 모델 파일을 그대로 쓸 수 있어요.

Q. Ollama 버전 업데이트는 어떻게 하나요?

Container Manager 레지스트리에서 ollama/ollama:latest를 다시 다운로드하고 기존 컨테이너를 새 이미지로 재생성하면 됩니다. 볼륨 마운트 경로를 그대로 유지하면 모델 파일은 업데이트 후에도 보존됩니다.

Q. Gmail이나 Google Drive 같은 외부 서비스와 연동할 수 있나요?

Open WebUI 자체에 Google 서비스 직접 연동 기능은 없습니다. 다만 내용을 복사해서 붙여넣는 방식으로 활용하는 건 충분히 가능해요. Google 저장공간 관리가 따로 필요하다면 Gmail 저장공간 정리 순서를 참고해두면 클라우드와 로컬 AI를 병행하는 환경 정리에 도움이 됩니다.

마무리

설치 자체보다 어떤 모델 크기를 선택하는지, 볼륨 경로를 SSD로 잡는지, 메모리 제한을 해제했는지가 실사용 만족도에 더 크게 영향을 줍니다. 이 세 가지만 잡아도 설치 후 "왜 이렇게 느리지?"라는 상황은 대부분 피할 수 있어요.

설치를 마치셨나요? 이제 로컬 AI 실전 활용법 5가지 글에서 개인정보 걱정 없이 로컬 AI를 비서로 부려먹는 방법을 확인해 보세요.

시놀로지 NAS 로컬 AI 실행 조건 전체 비교 바로 가기

시놀로지 로컬 AI vs ChatGPT Plus 비용 비교 바로 가기

DS920+ DS925+ 기종별 AI 추론 속도 비교 바로 가기

Contents
error: Content is protected !!