;

[Docker] n8n 셀프 호스팅 설치 방법 (Docker Compose) 본문

Linux

[Docker] n8n 셀프 호스팅 설치 방법 (Docker Compose)

WindowsHyun 2025. 7. 1. 14:14
반응형

개요

n8n은 다양한 애플리케이션과 서비스를 연결하여 워크플로우를 자동화하는 오픈소스 도구입니다. 본 포스트에서는 Docker Compose를 이용하여 개인 서버 환경에 n8n을 안정적으로 설치하는 방법을 다룹니다.

사전 준비 사항

  • 서버 환경: Ubuntu, CentOS 등 Docker 실행이 가능한 리눅스 서버. (클라우드 VPS, 개인 서버, NAS 등)
  • Docker 및 Docker Compose: 서버에 사전에 설치되어 있어야 합니다.
  • 도메인 주소 (선택 사항): n8n.your-domain.com과 같은 도메인으로 접속하고자 할 경우 필요합니다.

설치 절차

1. 디렉터리 생성

n8n 관련 데이터를 관리할 디렉터리를 생성하고 해당 경로로 이동합니다.

mkdir ~/n8n
cd ~/n8n
 

2. docker-compose.yml 파일 작성

n8n 서비스 및 관련 설정을 정의하기 위해 docker-compose.yml 파일을 작성합니다.

vi docker-compose.yaml

아래 내용을 docker-compose.yml 파일에 붙여넣습니다.

services:
  n8n:
    image: docker.n8n.io/n8nio/n8n 
    container_name: n8n
    restart: always
    ports:
      - "6976:5678" # 원하는 포트로 작성하시면 됩니다.
    environment:
      - DB_TYPE=postgresdb
      - DB_POSTGRESDB_DATABASE=n8n
      - DB_POSTGRESDB_HOST=localhost
      - DB_POSTGRESDB_PORT=5432
      - DB_POSTGRESDB_USER=n8n.admin
      - DB_POSTGRESDB_SCHEMA=public
      - DB_POSTGRESDB_PASSWORD=password
      - GENERIC_TIMEZONE=Asia/Seoul
      - TZ=Asia/Seoul
      - N8N_BASE_URL=https://n8n.windowshyun.tistory.com # 자신의 도메인 주소를 넣어주세요
      - WEBHOOK_URL=https://n8n.windowshyun.tistory.com # 자신의 도메인 주소를 넣어주세요
    volumes:
      - ./data:/home/node/.n8n

주요 환경 변수:

  • N8N_HOST / WEBHOOK_URL: n8n의 공개 접속 URL을 지정합니다. Webhook 기능의 정상 작동을 위해 필수적입니다.
  • GENERIC_TIMEZONE: 워크플로우 내 시간 관련 노드의 기준 시간대를 설정합니다.
  • volumes: 컨테이너가 삭제되더라도 모든 설정과 데이터를 보존하기 위한 가장 중요한 설정입니다.

3. n8n 컨테이너 실행

작성된 docker-compose.yml 파일을 기반으로 n8n 컨테이너를 백그라운드에서 실행합니다.

docker compose up -d

4. 설치 확인

리버스 프록시 설정 전이라면, 아래 명령어로 서버 IP를 확인하고 웹 브라우저에서 http://<서버_IP>:6976로 접속하여 n8n 초기 설정 화면이 나타나는지 확인합니다.

hostname -I

최초 접속 시 n8n의 소유자(Owner) 계정을 생성하는 화면이 나타나면 정상적으로 설치된 것입니다.

 

후속 조치

보안 및 편의성을 위해 Nginx Proxy Manager와 같은 리버스 프록시를 설정하여 준비된 도메인과 HTTPS 연결을 구성하는 것을 권장합니다.

반응형
Comments