Docker-Compose#
이미 Docker 및 Docker-Compose를 설치했다면 3단계부터 시작할 수 있습니다.
n8n-hosting 리포지토리에서 다양한 아키텍처에 대한 Docker Compose 구성을 찾을 수 있습니다.
Self-hosting knowledge prerequisites
Self-hosting n8n requires technical knowledge, including:
- Setting up and configuring servers and containers
- Managing application resources and scaling
- Securing servers and applications
- Configuring n8n
n8n recommends self-hosting for expert users. Mistakes can lead to data loss, security issues, and downtime. If you aren't experienced at managing servers, n8n recommends n8n Cloud.
Latest and Next versions
n8n releases a new minor version most weeks. The latest
version is for production use. next
is the most recent release. You should treat next
as a beta: it may be unstable. To report issues, use the forum.
Current latest
: 1.99.1
Current next
: 1.100.1
1. Docker 및 Docker Compose 설치#
Docker 및 Docker Compose를 설치하는 방법은 사용하는 Linux 배포판에 따라 다를 수 있습니다. Docker 및 Docker Compose 설치 설명서에서 자세한 지침을 찾을 수 있습니다. 다음 예는 Ubuntu용입니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
다음을 입력하여 Docker 및 Docker Compose를 사용할 수 있는지 확인합니다.
1 2 |
|
2. 선택 사항: 루트가 아닌 사용자 액세스#
선택적으로 sudo
명령 없이 Docker를 실행할 수 있는 액세스 권한을 부여할 수 있습니다.
현재 로그인한 사용자에게 액세스 권한을 부여하려면(해당 사용자가 sudo
액세스 권한이 있다고 가정) 다음을 실행합니다.
1 2 3 |
|
다른 사용자에게 액세스 권한을 부여하려면 <USER_TO_RUN_DOCKER>
를 적절한 사용자 이름으로 대체하여 다음을 입력합니다.
1 |
|
새 그룹 권한에 액세스하려면 해당 사용자의 기존 세션에서 exec sg docker newgrp
를 실행해야 합니다.
다음을 입력하여 현재 세션이 docker
그룹을 인식하는지 확인할 수 있습니다.
1 |
|
3. DNS 설정#
n8n을 온라인 또는 네트워크에서 호스팅하려면 서버를 가리키는 전용 하위 도메인을 만듭니다.
하위 도메인을 적절하게 라우팅하려면 A 레코드를 추가합니다.
- 유형: A
- 이름:
n8n
(또는 원하는 하위 도메인) - IP 주소: (서버의 IP 주소)
4. .env
파일 만들기#
n8n 환경 구성 및 Docker Compose 파일을 저장할 프로젝트 디렉토리를 만들고 내부로 이동합니다.
1 2 |
|
n8n-compose
디렉토리 내에서 n8n 인스턴스의 세부 정보를 사용자 지정하기 위해 .env
파일을 만듭니다. 자신의 정보와 일치하도록 변경합니다.
.env 파일 | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
5. 로컬 파일 디렉토리 만들기#
프로젝트 디렉토리 내에서 n8n 인스턴스와 호스트 시스템 간에 파일을 공유하기 위해 local-files
라는 디렉토리를 만듭니다(예: 디스크에서 파일 읽기/쓰기 노드 사용).
1 |
|
아래 Docker Compose 파일은 이 디렉토리를 자동으로 만들 수 있지만 수동으로 만들면 올바른 소유권 및 권한으로 생성됩니다.
6. Docker Compose 파일 만들기#
compose.yaml
파일을 만듭니다. 파일에 다음을 붙여넣습니다.
compose.yaml 파일 | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
|
위의 Docker Compose 파일은 n8n용 컨테이너 하나와 TLS/SSL 인증서를 관리하고 라우팅을 처리하는 애플리케이션 프록시인 traefik을 실행하는 컨테이너 하나, 이렇게 두 개의 컨테이너를 구성합니다.
또한 두 개의 Docker 볼륨을 만들고 이전에 만든 local-files
디렉토리를 마운트합니다.
이름 | 유형 | 컨테이너 마운트 | 설명 |
---|---|---|---|
n8n_data |
볼륨 | /home/node/.n8n |
n8n이 SQLite 데이터베이스 파일과 암호화 키를 저장하는 위치입니다. |
traefik_data |
볼륨 | /letsencrypt |
traefik이 TLS/SSL 인증서 데이터를 저장하는 위치입니다. |
./local-files |
바인드 | /files |
n8n 인스턴스와 호스트 간에 공유되는 로컬 디렉토리입니다. n8n에서는 /files 경로를 사용하여 이 디렉토리에서 읽고 씁니다. |
7. Docker Compose 시작#
이제 다음을 입력하여 n8n을 시작할 수 있습니다.
1 |
|
컨테이너를 중지하려면 다음을 입력합니다.
1 |
|
8. 완료#
이제 .env
파일 구성에서 정의한 하위 도메인 + 도메인 조합을 사용하여 n8n에 연결할 수 있습니다. 위 예는 https://n8n.example.com
이 됩니다.
n8n은 일반 HTTP가 아닌 보안 HTTPS를 사용해서만 액세스할 수 있습니다.
다음 단계#
- Learn more about configuring and scaling n8n.
- Or explore using n8n: try the Quickstarts.