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