inflearn logo
강의

Khóa học

Chia sẻ kiến thức

[Inflearn Award Bestseller] Cách trở thành chuyên gia tự động hóa AI không cần code, Hướng dẫn hoàn hảo về n8n

Hướng dẫn cài đặt và tự lưu trữ N8N cho người mới bắt đầu – Phần thực hành Docker

완전 초보를 위한 강의가 맞나요...

Đã giải quyết

102

angelstone855086

2 câu hỏi đã được viết

0

일단 시키는데로 했는데, 버전이 달라서 그런지 영상 내 설치 화면과 제가 실제 설치한 화면이 다른거 같습니다. 그리고 강사님께서 설명해주신데로 쭉쭉 진행은 했는데 중간에 에러코드가 나와서 chatgpt한테 물어보고.. env.example은 뒤에 example만 떼면 된다고 해서 docker가 뭔지 모르지만 그것까지 설치를 했습니다. 다만 그 다음부터 진행이 안되네요.. 제가 뭘 잘못했는지.. 안내해주시면 좋겠습니다. 저는 port(s)에 뭐가 안나오는거 같습니다.

 

완전 초보를 위한 강의라고 하지만 어느 정도 지식이 있다는 가정하에 진행하시는 것 같아서 따라잡기 많이 힘드네요.

container.png.webp

 

images.png.webp

.

n8n 인공지능(ai) rag ai-agent

Câu trả lời 4

0

angelstone855086

안내해주셔서 감사합니다. 강의 내용과 실제 프로그램 버전이 달라서 그런지 제가 많이 헤맵니다.. 이해 부탁드립니다.

 

3강의 챗지피티의 API 키값 입력해서 채팅을 쳐보니 에러메세지가 또 뜨더라구요.

챗지피티에 물어보니 설치가 중복되어 있다고 하는데,, 강의 내용대로 한 번밖에 설치를 안했는데 왜 자꾸 이러는지 모르겠습니다..

 

첨부해주신 첨부파일로 설치해서 버전도 맞춰서 설치했습니다.

다시 다 삭제하고 진행해야 될까요 

너무너무너무너무 답답하네요.

스크린샷 2026-04-19 120509.png.webp스크린샷 2026-04-19 120655.png.webp

 

0

nambaksa

강의 내용과 실제 프로그램 버전이 어떤게 다르신지 모르겠습니다만 n8n 1.x 버전만 유지하신다면 버전은 아무런 상관이 없습니다.

 

image.png

스샷을 봤을때 위의 Lost Connection 문제는 내부 n8n 엔진과 브라우저의 통신 방법으로 인해 생기는 문제중 하나인데, 일단 어떤 주소로 접속을 하시고 있는지 확인 할 수 없어서 정확하게 답변을 드리기는 어렵겠습니다만.. 위 문제를 해결하기 위해서는 N8N과 브라우저의 통신방식을 변경해보던가 좀 더 디테일한 설정 정보를 docker-compose.yml에 설정해봐야 할 듯 합니다.

volumes:
  n8n_storage:
  postgres_storage:
  ollama_storage:
  qdrant_storage:

networks:
  demo:

x-n8n: &service-n8n
  image: n8nio/n8n:1.123.30
  networks: ['demo']
  environment:
    - N8N_HOST=localhost
    - N8N_PORT=5678
    - N8N_PROTOCOL=http
    - N8N_EDITOR_BASE_URL=http://localhost:5678
    - WEBHOOK_URL=http://localhost:5678
    - N8N_PUSH_BACKEND=websocket

    - TZ=Asia/Seoul
    - N8N_PAYLOAD_SIZE_MAX=32
    - N8N_REQUEST_MAX_SIZE=100MB
    - N8N_PROXY_HOPS=1
    - N8N_AUTH_EXCLUDE_ENDPOINTS=api
    - N8N_SECURE_COOKIE=false
    - DB_TYPE=postgresdb
    - DB_POSTGRESDB_HOST=postgres
    - DB_POSTGRESDB_USER=${POSTGRES_USER}
    - DB_POSTGRESDB_PASSWORD=${POSTGRES_PASSWORD}
    - N8N_DIAGNOSTICS_ENABLED=false
    - N8N_PERSONALIZATION_ENABLED=false
    - N8N_ENCRYPTION_KEY
    - N8N_USER_MANAGEMENT_JWT_SECRET
    - OLLAMA_HOST=ollama:11434

x-ollama: &service-ollama
  image: ollama/ollama:latest
  container_name: ollama
  networks: ['demo']
  restart: unless-stopped
  ports:
    - 11434:11434
  volumes:
    - ollama_storage:/root/.ollama

x-init-ollama: &init-ollama
  image: ollama/ollama:latest
  networks: ['demo']
  container_name: ollama-pull-llama
  volumes:
    - ollama_storage:/root/.ollama
  entrypoint: /bin/sh
  environment:
    - OLLAMA_HOST=ollama:11434
  command:
    - "-c"
    - "sleep 3; ollama pull llama3.2; ollama pull snowflake-arctic-embed:335m"

services:
  postgres:
    image: postgres:16-alpine
    hostname: postgres
    networks: ['demo']
    restart: unless-stopped
    environment:
      - POSTGRES_USER
      - POSTGRES_PASSWORD
      - POSTGRES_DB
    volumes:
      - postgres_storage:/var/lib/postgresql/data
    healthcheck:
      test: ['CMD-SHELL', 'pg_isready -h localhost -U ${POSTGRES_USER} -d ${POSTGRES_DB}']
      interval: 5s
      timeout: 5s
      retries: 10
    ports:
      - 5432:5432

  n8n-import:
    <<: *service-n8n
    hostname: n8n-import
    container_name: n8n-import
    entrypoint: /bin/sh
    command:
      - "-c"
      - "n8n import:credentials --separate --input=/backup/credentials && n8n import:workflow --separate --input=/backup/workflows"
    volumes:
      - ./n8n/backup:/backup
    depends_on:
      postgres:
        condition: service_healthy

  n8n:
    <<: *service-n8n
    hostname: n8n
    container_name: n8n
    restart: unless-stopped
    ports:
      - 5678:5678
    volumes:
      - n8n_storage:/home/node/.n8n
      - ./n8n/backup:/backup
      - ./shared:/data/shared
    depends_on:
      postgres:
        condition: service_healthy
      n8n-import:
        condition: service_completed_successfully

  qdrant:
    image: qdrant/qdrant
    hostname: qdrant
    container_name: qdrant
    networks: ['demo']
    restart: unless-stopped
    ports:
      - 6333:6333
    volumes:
      - qdrant_storage:/qdrant/storage

  ollama-cpu:
    profiles: ["cpu"]
    <<: *service-ollama

  ollama-gpu:
    profiles: ["gpu-nvidia"]
    <<: *service-ollama
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: 1
              capabilities: [gpu]

  ollama-gpu-amd:
    profiles: ["gpu-amd"]
    <<: *service-ollama
    image: ollama/ollama:rocm
    devices:
      - "/dev/kfd"
      - "/dev/dri"

  ollama-pull-llama-cpu:
    profiles: ["cpu"]
    <<: *init-ollama
    depends_on:
      - ollama-cpu

  ollama-pull-llama-gpu:
    profiles: ["gpu-nvidia"]
    <<: *init-ollama
    depends_on:
      - ollama-gpu

  ollama-pull-llama-gpu-amd:
    profiles: [gpu-amd]
    <<: *init-ollama
    image: ollama/ollama:rocm
    depends_on:
     - ollama-gpu-amd

위 코드블럭 안의 내용은 docker-compose.yml 의 전체 내용인데 자세히 살펴보면

 

    - N8N_HOST=localhost
    - N8N_PORT=5678
    - N8N_PROTOCOL=http
    - N8N_EDITOR_BASE_URL=http://localhost:5678
    - WEBHOOK_URL=http://localhost:5678
    
    - N8N_PUSH_BACKEND=websocket

위와 같은 내용이 추가되고 수정되었습니다. N8N_PUSH_BACKEND=websocket 이 값은 원래 sse로 설정되었었는데 이걸 websocket 방식으로 수정되었고 나머지 항목은 원래 생략되었던 값인데 추가된 값입니다. 위 전체 코드 블럭 내용을 복사하여 현재 n8n의 docker-compose.yml 내용 전체를 수정하시고 해당 docker-compose.yml 파일이 있는 경로 상태에서 docker compose up -d --build --force-recreate 명령을 입력하여 현재 운행중인 도커 컨테이너를 다시 빌드하여 적용하신 후 다시 시도해보시기 바랍니다.

 

 

 

0

angelstone855086

안녕하세요,

버전을 알려주신대로 설치를 다시 했습니다.

이번엔 호스트를 클릭했더니 n8n 홈페이지가 안뜨고 아직 데이터베이스 준비가 안되었다고 메세지가 뜨는데요. 설치가 완료안되서 그런건가요

스크린샷 2026-04-18 175153.png.webp

 

스크린샷 2026-04-18 175218.png.webp

 

스크린샷 2026-04-18 175229.png.webp

 

스크린샷 2026-04-18 175536.png.webp

?

0

nambaksa

image.png

지금 스샷에 보시면 postgress와 qdrant 모두 시작이 안되고 중지된 상태입니다. 목록에서 n8n-import를 제외한 모든 컨테이너가 당연한 이야기지만 실행중이어야 합니다. 어떻게 설치를 하셔서 이게 자동실행이 되고 있지 않은지는 제가 알 수 없으나 일단 오른쪽의 시작 버튼을 수동으로 눌러서 실행이 되는지부터 확인해보시기 바랍니다. 다 실행이 된다면 그 후에 n8n접속을 시도해보세요.

0

nambaksa

안녕하세요, 승원님.

일단 지금 올려주신 스샷을 봤을때,

 

image.png

n8n 이 중복되어 여러개가 동시에 설치되어 있는 듯 합니다. 참고로 도커 설치는 버전과 큰 상관이 없는 부분입니다. env 파일은 말씀하신 것 처럼 .env 로 되어있으면 됩니다. 해당 내용은 수업노트를 참조하시어 .env 파일의 내용을 복사하여 새 파일을 .env 이름으로 생성 하시면 됩니다.

현재 상황에서 같은 n8n이 다른 이름으로 중복적으로 설치되어있기 때문에 정상적으로 구동이 될 수 없는 상황입니다. 화면에 보이는 self-hosted-ai-starter 를 펼치기 해보시면 그 안에 또 n8n이 구동되고 있을꺼라 판단됩니다. 그리고 그렇게 그룹핑 되어 설치되는게 정상인데 화면상에 보이는 따로 나와있는 postgres와 n8n은 나중에 또 추가적으로 설치하신거 같은데 그 2가지를 제거 하시고 다시 아래 self-hosted 로 되어있는걸 재시작해보시거나 아니면 전체를 모두 다 삭제하고 다시 첨부터 진행을 해보셔야 할 듯 합니다.

 

image.png

최종적으로는 위 스샷에서 처럼 self hosted... 그룹아래 컨테이너들만 구동중인 상태여야 합니다. 제 개인적으로는 번거로우시겠지만 도커를 아예 삭제하시고 다시 처음부터 설치를 해보는걸 추천드립니다.그리고 지금 설치된 n8n 버전이 n8nio/n8n:latest로 설치되어있는데 수업 노트를 참고하시어 docker-compose.yml 에서 버전을 1.123.x 버전으로 고정하셔야 합니다. 수업자료로 제공하는 docker-compose.yml 파일을 다운로드 하시고 해당 폴더에 .env 파일을 생성하시고 docker compose up -d 명령으로 쉽게 설치하실 수 있습니다.

제 강의 수강생의 연령대가 10대부터 70대가 되신 분들도 계시기도 하고 말씀하신 것 처럼 초보를 위한 강의이긴 합니다만 어떤분께는 어려울 수도 있고 또 어떤 분께는 쉬울수도 있는거 같습니다. 물론 제가 더 쉽게 이해할 수 있게 완벽하게 강의를 만들었으면 더 좋았겠지만서도 제가 아직까지 그 정도의 능력이 부족한 부분인듯 합니다. 분발해야겠습니다.

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. 박승원님.

n8n 설치 관련하여 어려움을 겪고 계시는군요. 여러분들이 입문자분들을 대상으로 하여 강의를 만들어도 가끔씩 버전 차이로 인해 발생하는 차이점은 있을 수 있습니다. 현재와 같이 Docker 환경에서 진행하시면서 발생하는 일반적인 오류와 해결책을 안내드리겠습니다.

문제 해결 방법:

  1. Port Mapping 확인:

    • n8n 웹 UI가 접근 가능한 포트가 제대로 매핑되지 않았을 가능성이 있습니다.
    • Docker 실행 시 다음과 같은 옵션을 포함했는지 확인하세요:
      
      docker run -it --rm --name n8n -p 5678:5678 n8nio/n8n
      

    • 이렇게 설정하면, 호스트 머신의 웹 브라우저에서 http://localhost:5678을 통해 n8n에 접근할 수 있습니다.
  2. Docker 컨테이너 상태 확인:

    • docker ps -a 명령어를 통해 모든 Docker 컨테이너의 상태를 확인하세요. 이는 실행 중이 아닌 컨테이너도 포함하여 출력합니다.
    • 포트가 매핑되지 않았거나 다른 오류가 발생했을 경우 상세 로그를 확인하는 것이 좋습니다.
  3. 환경 변수 설정 확인:

    • .env.example 파일의 예제를 통해 .env 파일을 작성해야 합니다. 설정한 포트, 데이터베이스 접속 정보 등이 명시되어 있어야 합니다.
  4. 이미지 및 컨테이너 초기화:

    • 모든 것을 다시 시작해야 할 경우, docker-compose down 명령으로 모든 관련 컨테이너를 종료하고, docker-compose up -d명령으로 다시 시작해 보세요.

위의 방법들을 통해 문제를 해결할 수 있을 것입니다. 관련된 문제에 대한 유사한 질문들이 이미 존재하며, 이와 같은 질문 내용들은 교육자와 커뮤니티의 추가 피드백을 통해 더 개선될 것입니다.

관련하여 이미 존재하는 질문과 답변들을 아래에서 찾아보실 수 있습니다:
- n8n과 Docker 컨테이너 실행 관련 문제
- Docker 환경 변수를 통한 포트 매핑 문제 해결

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

n8n Email Trigger(IMAP) 네이버 메일 연동 시 Published 이후 트리거 미동작 문제

0

34

2

docker 설치관련 문의

0

39

2

맥북 설치방법

0

69

3

n8n에서 챗봇과 ai에이전트

0

75

1

구글 API 사용 불가라면 해당 강의에서 구글 관련 내용은 제외하고 진행해도 괜찮을까요?

0

66

2

[12강] https://kome.ai/tools/youtube-transcript-generator

0

54

2

n8n-nodes-youtube-transcript-api 주소 관련

0

66

2

설치버전 문의

0

65

2

n8n 기본 기능 문의

0

77

2

Docker 에서 n8n 실행 후 connection lost

0

118

2

31강. api 호출하면 결과를 1개만 받아옵니다.

0

66

2

GPU가 Intel(R) Arc(TM) Graphics 경우

0

75

2

[30강] 클로드 경로 오류

0

269

2

6강의 워크플로우간 데이터가 에러가

0

81

2

Dockerfile의 첫줄 n8nio/runners:latest 에서 이미지를 찾지 못하고 있습니다.

0

62

2

[7강] 이메일 스팸 분류 UID

0

68

3

2강 설치가 안됩니다.

0

77

2

2강에서 도커 설치이후 순서대로 했는데,에러가 생기는 거 같아요.

0

96

3

24강 mcp 노션 글 생성 실습

0

64

2

텔레그램 대신 사용 가능한 것은?

0

75

2

[12강] 추가 수업파일 다운로드가 안됩니다.

0

65

1

6강의 워크플로우간 데이터가 에러가

0

79

2

[12강] 현재 kome.ai에서 헤더값이 없어도 api 호출이 가능한 것 같습니다.

0

57

2

Custom Search API가 지원이 중단된거같네요..

0

158

1