본문 바로가기
Workflow automation

Windows 11 에서 n8n 설치하기

by InfosGalaxy 2025. 11. 12.
반응형

# 🐳 Windows 11에서 **Docker만**으로 n8n 설치하기 (Desktop 불가 환경 포함)

> 회사 정책상 **Docker Desktop 사용 불가**한 경우를 대비해, **WSL2 + Docker Engine(순수 CLI)** 방법을 함께 제공합니다.  

---

## 옵션 개요
- **옵션 A**: *Docker Desktop* + (WSL2 엔진) — 가장 간단
- **옵션 B**: *WSL2 Ubuntu 안에 Docker Engine(순수 CLI)* — Desktop 미사용 환경

---

## 옵션 A) Docker Desktop (가장 빠른 방법)

1. **Docker Desktop 설치**
   - 설치 중/후 설정에서 **Use the WSL 2 based engine** 체크
   - `Settings → Resources → WSL Integration`에서 사용 중 배포판(예: Ubuntu) **Enable integration** 체크

2. **바로 실행(데이터 보존 포함, PowerShell)**
   ```powershell
   mkdir -p $env:USERPROFILE
8n_data
   docker run -it --name n8n ^
     -p 5678:5678 ^
     -v $env:USERPROFILE
8n_data:/home/node/.n8n ^
     n8nio/n8n:latest
   ```
   - 접속: http://localhost:5678  
   - 중지: `Ctrl + C` 또는 `docker stop n8n`  
   - 재시작: `docker start -ai n8n`

3. **docker-compose (선택, PostgreSQL)**
   ```yaml
   services:
     postgres:
       image: postgres:15
       environment:
         POSTGRES_USER: n8n
         POSTGRES_PASSWORD: n8n
         POSTGRES_DB: n8n
       volumes:
         - ./postgres_data:/var/lib/postgresql/data
       healthcheck:
         test: ["CMD-SHELL", "pg_isready -U n8n"]
         interval: 5s
         timeout: 5s
         retries: 10

     n8n:
       image: n8nio/n8n:latest
       ports:
         - "5678:5678"
       environment:
         DB_TYPE: postgresdb
         DB_POSTGRESDB_HOST: postgres
         DB_POSTGRESDB_PORT: 5432
         DB_POSTGRESDB_DATABASE: n8n
         DB_POSTGRESDB_USER: n8n
         DB_POSTGRESDB_PASSWORD: n8n
         N8N_HOST: 0.0.0.0
         N8N_PORT: 5678
       depends_on:
         postgres:
           condition: service_healthy
       volumes:
         - ./n8n_data:/home/node/.n8n
   ```
   ```powershell
   docker compose up -d
   docker compose ps
   docker compose logs -f n8n
   docker compose down
   ```

---

## 옵션 B) **Docker Desktop 없이**: WSL2 Ubuntu 안에 Docker Engine(순수 CLI)

> 아래 단계는 **Ubuntu(WSL2 터미널)** 에서 실행합니다. (Windows 쪽엔 Desktop 설치 안 함)

### 1) WSL2에서 systemd 활성화 (한번만)
```bash
# 관리자 PowerShell에서 WSL 완전 종료
#   wsl --shutdown
# Ubuntu 터미널에서 아래 실행
echo -e "[boot]
systemd=true" | sudo tee /etc/wsl.conf
```

PowerShell(관리자)에서:
```powershell
wsl --shutdown
```
그 후 Ubuntu 재실행. (`systemd`가 켜진 상태로 올라옵니다)

### 2) Docker Engine 설치 (공식 리포지토리)
```bash
sudo apt update
sudo apt install -y ca-certificates curl gnupg

# Docker GPG 키 & 리포지토리
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo   "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) stable" |   sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
```

### 3) 데몬 시작 & 부팅시 자동
```bash
sudo systemctl enable --now docker
```

### 4) 권한 설정(매번 sudo 없이 사용)
```bash
sudo usermod -aG docker $USER
newgrp docker
```

### 5) 동작 확인
```bash
docker run hello-world
```

### 6) n8n 실행 (CLI)
```bash
mkdir -p ~/.n8n_data
docker run -it --name n8n   -p 5678:5678   -v ~/.n8n_data:/home/node/.n8n   n8nio/n8n:latest
```
- 접속: http://localhost:5678 (Windows 브라우저에서 그대로 접속 가능)  
- 중지: `Ctrl + C` 또는 `docker stop n8n`  
- 재시작: `docker start -ai n8n`

### 7) docker compose (CLI, 선택)
프로젝트 폴더 생성 후 `docker-compose.yml`(= `compose.yaml`) 저장:
> 위 **옵션 A - 3)**의 compose 내용을 그대로 사용 가능합니다.

```bash
docker compose up -d
docker compose logs -f n8n
docker compose down
```
---

## ✅ 체크리스트 요약
1. **Desktop 가능**: 옵션 A로 3줄 실행 → http://localhost:5678  
2. **Desktop 불가**: 옵션 B로 WSL2 Ubuntu에 **Docker Engine 설치** → `docker run ...`  
3. 데이터는 마운트한 폴더(`%USERPROFILE%\n8n_data` 또는 `~/.n8n_data`)에 보존

반응형