Heroku에 n8n 호스팅하기#
이 호스팅 가이드는 Heroku에서 n8n을 자체 호스팅하는 방법을 보여줍니다. 이 가이드는 다음을 사용합니다:
- Docker Compose를 사용하여 애플리케이션 구성 요소를 만들고 정의하며, 이들이 어떻게 함께 작동하는지를 설명합니다.
- n8n의 데이터 저장소를 호스팅하기 위한 Heroku의 PostgreSQL 서비스를 사용합니다.
- Heroku에 배포 버튼을 통해 클릭 한 번으로 간단한 구성으로 배포할 수 있습니다.
자체 호스팅 사전 요구 사항
n8n을 자체 호스팅하려면 다음과 같은 기술적 지식이 필요합니다:
- 서버 및 컨테이너 설정 및 구성
- 애플리케이션 리소스 관리 및 확장
- 서버 및 애플리케이션 보안 강화
- n8n 구성
n8n은 전문가 수준의 사용자에게 자체 호스팅을 권장합니다. 실수로 인해 데이터 손실, 보안 문제, 서비스 중단이 발생할 수 있습니다. 서버 관리 경험이 부족한 경우, n8n은 n8n Cloud 사용을 추천합니다.
최신 및 차기 버전
n8n은 대부분의 주에 새로운 마이너 버전을 출시합니다. latest
버전은 프로덕션 환경에서 사용하도록 설계된 안정적인 버전입니다. next
버전은 가장 최근에 출시된 버전으로, 베타 버전으로 간주해야 하며 불안정할 수 있습니다. 문제를 발견하면 포럼에서 보고해 주세요.
현재 latest
: 1.77.3
현재 next
: 1.78.0
배포 템플릿을 사용하여 Heroku 프로젝트 만들기#
n8n을 Heroku에 배포하는 가장 빠른 방법은 Heroku에 배포 버튼을 사용하는 것입니다:
이 버튼을 클릭하면 Heroku의 새 앱 만들기 페이지가 열립니다. 프로젝트 이름을 설정하고 프로젝트를 배포할 지역을 선택합니다.
환경 변수 구성#
Heroku는 app.json
파일의 env
섹션에 정의된 구성 옵션을 자동으로 채워주며, n8n이 사용하는 환경 변수의 기본값을 설정합니다.
이 값 중 어떤 것이든 필요에 따라 변경할 수 있습니다. 다음 값을 반드시 변경해야 합니다:
- N8N_ENCRYPTION_KEY: n8n이 데이터베이스에 저장하기 전에 사용자 계정 세부정보를 암호화하는 데 사용하는 값입니다.
- WEBHOOK_URL: 웹훅이 올바른 URL을 가질 수 있도록 생성한 애플리케이션 이름과 일치해야 합니다.
n8n 배포하기#
앱 배포를 선택합니다.
Heroku가 애플리케이션을 빌드하고 배포한 후, 앱 관리 또는 보기 링크를 제공합니다.
Heroku 및 DNS
자신의 도메인을 Heroku 애플리케이션에 연결하는 방법은 Heroku 문서를 참조하세요.
배포 템플릿 변경하기#
저장소를 포크하여 배포 템플릿을 변경할 수 있습니다.
Dockerfile#
기본적으로 Dockerfile은 최신 n8n 이미지를 가져옵니다. 다른 버전이나 고정 버전을 사용하려면 Dockerfile
의 첫 번째 줄에 있는 이미지 태그를 업데이트하세요.
Heroku와 포트 노출#
Heroku는 Docker 기반 애플리케이션이 EXPOSE
명령어로 포트를 정의하는 것을 허용하지 않습니다. 대신, Heroku는 애플리케이션 실행 시 동적으로 채워지는 PORT
환경 변수를 제공합니다. entrypoint.sh
파일은 기본 Docker 이미지 명령을 재정의하여 Heroku가 제공하는 포트 변수를 설정합니다. 그러면 웹 브라우저에서 포트 80으로 n8n에 접근할 수 있습니다.
Heroku와 Docker 제한 사항
이 가이드를 읽어보세요 Docker를 Heroku와 사용할 때의 제한 사항에 대한 자세한 내용을 확인하세요.
Heroku 구성#
heroku.yml
파일은 Heroku에서 생성하려는 애플리케이션을 정의합니다. 두 개의 섹션으로 구성됩니다:
setup
>addons
는 사용할 Heroku 애드온을 정의합니다. 이 경우 PostgreSQL 데이터베이스 애드온입니다.build
섹션은 Heroku가 애플리케이션을 빌드하는 방법을 정의합니다. 이 경우 제공된Dockerfile
을 기반으로web
서비스를 빌드하기 위해 Docker 빌드팩을 사용합니다.