콘텐츠로 이동
📣 인포그랩에서 OpenAI 기술 기반으로 자체 개발한 자동화 번역 프로그램을 통해 n8n 공식 문서의 한글판을 국내 최초로 제공합니다.

Docker 설치#

Docker는 다음과 같은 이점을 제공합니다:

  • 깨끗한 환경에서 n8n을 설치합니다.
  • 선호하는 데이터베이스에 대한 설정이 더 쉽습니다.
  • Docker가 일관된 시스템을 제공하므로 서로 다른 운영 체제로 인한 문제를 피할 수 있습니다.

Docker Compose와 함께 Docker에서 n8n을 사용할 수도 있습니다. 다양한 아키텍처에 대한 Docker Compose 구성은 n8n-hosting 저장소에서 찾을 수 있습니다.

필수 사항#

진행하기 전에 Docker Desktop을 설치하십시오.

리눅스 사용자

Docker Desktop은 Mac과 Windows에서 사용할 수 있습니다. 리눅스 사용자는 배포판에 맞춰 Docker EngineDocker Compose을 개별적으로 설치해야 합니다.

자체 호스팅 사전 요구 사항

n8n을 자체 호스팅하려면 다음과 같은 기술적 지식이 필요합니다:

  • 서버 및 컨테이너 설정 및 구성
  • 애플리케이션 리소스 관리 및 확장
  • 서버 및 애플리케이션 보안 강화
  • n8n 구성

n8n은 전문가 수준의 사용자에게 자체 호스팅을 권장합니다. 실수로 인해 데이터 손실, 보안 문제, 서비스 중단이 발생할 수 있습니다. 서버 관리 경험이 부족한 경우, n8n은 n8n Cloud 사용을 추천합니다.

최신 및 차기 버전

n8n은 대부분의 주에 새로운 마이너 버전을 출시합니다. latest 버전은 프로덕션 환경에서 사용하도록 설계된 안정적인 버전입니다. next 버전은 가장 최근에 출시된 버전으로, 베타 버전으로 간주해야 하며 불안정할 수 있습니다. 문제를 발견하면 포럼에서 보고해 주세요.

현재 latest: 1.77.3
현재 next: 1.78.0

n8n 시작하기#

터미널에서 다음 명령을 실행하십시오:

1
2
3
docker volume create n8n_data

docker run -it --rm --name n8n -p 5678:5678 -v n8n_data:/home/node/.n8n docker.n8n.io/n8nio/n8n

이 명령은 모든 필요한 n8n 이미지를 다운로드하고 컨테이너를 시작하며, 포트 5678에서 노출됩니다. 컨테이너 재시작 시 작업을 저장하려면 n8n_data라는 도커 볼륨을 마운트하여 데이터를 로컬에 지속적으로 저장합니다.

n8n은 http://localhost:5678을 열어 접근할 수 있습니다.

대체 데이터베이스 사용#

기본적으로 n8n은 credentials, 이전 실행 및 워크플로를 저장하기 위해 SQLite를 사용합니다. n8n은 또한 환경 변수를 사용하여 구성할 수 있는 PostgresDB를 지원합니다.

데이터를 /home/node/.n8n 폴더에 지속적으로 저장하는 것이 중요합니다. 이 폴더는 n8n 사용자 데이터와 더 중요한 자격 증명을 위한 암호화 키를 포함하고 있기 때문입니다. 이는 n8n 터널을 사용할 때 웨블 후크의 이름이기도 합니다.

디렉토리가 발견되지 않으면 n8n은 자동으로 시작 시 디렉토리를 생성합니다. 이 경우, 다른 암호화 키로 저장된 기존 자격 증명은 더 이상 사용할 수 없습니다.

유의사항

대체 데이터베이스를 사용할 때도 /home/node/.n8n 디렉토리를 지속적으로 저장하는 것이 권장되는 최선의 방법이지만 필수적으로 요구되지는 않습니다. 암호화 키는 N8N_ENCRYPTION_KEY 환경 변수를 통해 제공할 수 있습니다.

PostgresDB#

n8n을 Postgres와 함께 사용하려면 다음을 제공하십시오:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
docker volume create n8n_data

docker run -it --rm \
 --name n8n \
 -p 5678:5678 \
 -e DB_TYPE=postgresdb \
 -e DB_POSTGRESDB_DATABASE=<POSTGRES_DATABASE> \
 -e DB_POSTGRESDB_HOST=<POSTGRES_HOST> \
 -e DB_POSTGRESDB_PORT=<POSTGRES_PORT> \
 -e DB_POSTGRESDB_USER=<POSTGRES_USER> \
 -e DB_POSTGRESDB_SCHEMA=<POSTGRES_SCHEMA> \
 -e DB_POSTGRESDB_PASSWORD=<POSTGRES_PASSWORD> \
 -v n8n_data:/home/node/.n8n \
 docker.n8n.io/n8nio/n8n

Postgres 용 docker-compose 파일의 전체 예시는 여기에서 확인할 수 있습니다.

시간대 설정#

n8n이 사용할 시간대를 정하기 위해, 환경 변수 GENERIC_TIMEZONE를 설정할 수 있습니다. 이는 Cron 노드와 같은 일정 기반 노드에서 사용됩니다.

시스템의 시간대는 별도로 설정할 수도 있습니다. 이는 $ date와 같은 일부 스크립트와 명령어의 반환 값을 제어합니다. 시스템 시간대는 환경 변수 TZ를 사용하여 설정할 수 있습니다.

두 가지 모두 동일한 시간대를 사용하는 예:

1
2
3
4
5
6
7
8
9
docker volume create n8n_data

docker run -it --rm \
 --name n8n \
 -p 5678:5678 \
 -e GENERIC_TIMEZONE="Europe/Berlin" \
 -e TZ="Europe/Berlin" \
 -v n8n_data:/home/node/.n8n \
 docker.n8n.io/n8nio/n8n

업데이트#

Docker Desktop에서 Images 탭으로 이동하여 컨텍스트 메뉴에서 Pull을 선택하여 최신 n8n 이미지를 다운로드합니다:

Docker Desktop

커맨드 라인을 사용하여 최신 버전 또는 특정 버전을 풀 수도 있습니다:

1
2
3
4
5
6
7
8
# 최신 (안정적인) 버전 풀기
docker pull docker.n8n.io/n8nio/n8n

# 특정 버전 풀기
docker pull docker.n8n.io/n8nio/n8n:0.220.1

# 다음 (불안정한) 버전 풀기
docker pull docker.n8n.io/n8nio/n8n:next

컨테이너를 중지하고 다시 시작합니다. 커맨드 라인을 사용할 수도 있습니다:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# 컨테이너 ID 가져오기
docker ps -a

# ID가 container_id인 컨테이너 중지
docker stop [container_id]

# ID가 container_id인 컨테이너 제거
docker rm [container_id]

# 컨테이너 시작
docker run --name=[container_name] [options] -d docker.n8n.io/n8nio/n8n

Docker Compose#

Docker Compose 파일을 사용하여 n8n을 실행하는 경우, 다음 단계를 따라 n8n을 업데이트하세요:

1
2
3
4
5
6
7
8
# Pull latest version
docker compose pull

# Stop and remove older version
docker compose down

# Start the container
docker compose up -d

추가 정보#

Docker 설정에 대한 더 많은 정보는 Docker Image의 README 파일에서 찾을 수 있습니다.

n8n 터널 사용 (n8n with tunnel)#

Danger

이 기능은 로컬 개발 및 테스트 용도로만 사용하세요.
프로덕션 환경에서 사용하기에는 안전하지 않습니다.

GitHub과 같은 외부 서비스의 트리거 노드에서 웹훅을 사용하려면,
n8n이 웹에서 접근 가능해야 합니다.

n8n은 터널 서비스를 제공하며,
이 서비스를 통해 n8n 서버에서 로컬 n8n 인스턴스로 요청을 리디렉트할 수 있습니다.

--tunnel과 함께 n8n을 시작하려면 다음을 실행하세요:

1
2
3
4
5
6
7
8
docker volume create n8n_data

docker run -it --rm \
 --name n8n \
 -p 5678:5678 \
 -v n8n_data:/home/node/.n8n \
 docker.n8n.io/n8nio/n8n \
 start --tunnel

다음 단계#

인포레터에서 최신 DevOps 트렌드를 격주로 만나보세요!