n8n은 다양한 자동화 워크플로우를 쉽게 설정할 수 있는 툴입니다. 이 글에서는 Podman을 사용해 n8n을 설치하는 방법을 소개합니다.
docker가 아닌 Podman을 사용한 이유는 그나마 Podman이 루트리스로 보안성이 조금 더 좋고 이런저런 이슈들에서 더 자유롭기 때문입니다.
다만 윈도우 사용자에겐 그다지 추천하지 않습니다.
1. Podman 설치하기
먼저, Podman이 시스템에 설치되어 있어야 합니다. 아래는 Ubuntu와 Debian에 Podman을 설치하는 방법입니다.
sudo apt update
sudo apt install -y podman
다른 운영 체제에 대한 설치 방법도 Podman 공식 문서에서 확인할 수 있습니다.
2. n8n 실행하기
Podman을 설치한 후, 아래 명령어를 사용해 n8n을 실행할 수 있습니다. 시간대를 서울로 설정하고, 기본 인증을 활성화하는 방법을 예시로 들겠습니다.
podman run -d \
--name n8n \
-e GENERIC_TIMEZONE="Asia/Seoul" \
-e N8N_BASIC_AUTH_ACTIVE="true" \
-e N8N_BASIC_AUTH_USER="admin" \
-e N8N_BASIC_AUTH_PASSWORD="password" \
--network host \
-e N8N_HOST=192.168.x.x \ # 내부망 IP로 설정
-e N8N_PROTOCOL=http \ # HTTP 사용
-e N8N_PORT=5678 \ # 포트 설정
-e N8N_SECURE_COOKIE=false \ # 보안 쿠키 비활성화
--restart always \
-p 5678:5678 \ # 포트 매핑 (필수)
n8nio/n8n:latest
옵션 설명:
- -d: 백그라운드에서 컨테이너 실행
- --name n8n: 컨테이너 이름을 n8n으로 지정
- -e GENERIC_TIMEZONE="Asia/Seoul": n8n의 시간대 설정을 서울로 맞춤.
- -e N8N_BASIC_AUTH_ACTIVE="true": n8n의 기본 인증 활성화.
- -e N8N_BASIC_AUTH_USER="admin": 로그인 사용자 이름 설정.
- -e N8N_BASIC_AUTH_PASSWORD="password": 로그인 비밀번호 설정.
- -e N8N_HOST=192.168.x.x: 내부망 IP로 설정.
- -e N8N_PROTOCOL=http: HTTP 프로토콜 사용.
- -e N8N_PORT=5678: n8n이 실행될 포트 설정.
- -e N8N_SECURE_COOKIE=false: 보안 쿠키 비활성화 (HTTPS를 사용하지 않는 경우에 유용).
- --network host: 호스트 네트워크 사용 (내부망 IP 설정에 필요).
- -p 5678:5678: 컨테이너 포트를 외부에 노출.
- --restart always: 자동 재시작 설정.
3. n8n 실행 확인하기
컨테이너가 정상적으로 실행되면, 브라우저에서 http://<호스트 IP>:5678
주소로 접속할 수 있습니다. 기본 인증을 설정했으므로, 앞에서 설정한 admin
과 password
로 로그인해야 합니다.
4. Podman에서 실행 중인 컨테이너 관리
Podman에서 실행 중인 컨테이너를 관리하려면 아래 명령어들을 사용하면 됩니다.
- 컨테이너 상태 확인:
podman ps
- 컨테이너 중지:
podman stop n8n
- 컨테이너 재시작:
podman restart n8n
- 컨테이너 삭제:
podman rm n8n
5. 외부 데이터베이스 연결 (Optional)
n8n은 기본적으로 SQLite를 사용하지만, 외부 데이터베이스(MySQL, PostgreSQL 등)를 설정할 수 있습니다. 예를 들어, MySQL과 연결하는 방법은 아래와 같습니다.
podman run -d \
--name n8n \
-e DB_TYPE="mysql" \
-e DB_MYSQLDB_HOST="mysql_host" \
-e DB_MYSQLDB_PORT="3306" \
-e DB_MYSQLDB_USER="n8n_user" \
-e DB_MYSQLDB_PASSWORD="n8n_password" \
-e DB_MYSQLDB_DATABASE="n8n_db" \
-p 5678:5678 \
--restart always \
n8nio/n8n:latest
이 명령어는 MySQL 데이터베이스와 연결하여 n8n을 실행합니다.
'n8n' 카테고리의 다른 글
슬랙 대체 프로그램 추천 (0) | 2025.02.11 |
---|