๐ n8n์ด๋?
n8n(์์ดํธ์)์ ์คํ์์ค ์ํฌํ๋ก์ฐ ์๋ํ ํด๋ก, 200๊ฐ ์ด์์ ์๋น์ค(Google Sheets, Slack, Telegram ๋ฑ)๋ฅผ ์ฐ๊ฒฐํด ๋ณต์กํ ์์
์ ์๋ํํฉ๋๋ค.
โ
์ฝ๋๋ฆฌ์ค ์ธํฐํ์ด์ค
โ
์์ฒด ํธ์คํ
๊ฐ๋ฅ
โ
ํ์ฅ์ฑ ๋์ ๋
ธ๋ ๊ธฐ๋ฐ ๊ตฌ์กฐ
๐ฅ “If This Then That(IFTTT)”์ ์
๋ฌด์ฉ ๊ฐํํ์ด๋ผ๊ณ ์๊ฐํ์ธ์!
๐ณ Docker Compose๋ก ์ค์นํ๋ ์ด์
์ฅ์ | ์ค๋ช |
---|---|
๊ฐํธ์ฑ | ๋ณต์กํ ์์กด์ฑ ์์ด 1๊ฐ ํ์ผ๋ก ์ค์ ์๋ฃ! |
์ผ๊ด์ฑ | ๊ฐ๋ฐ/ํ ์คํธ/์ด์ ํ๊ฒฝ ๋์ผ์ฑ ๋ณด์ฅ |
ํ์ฅ์ฑ | PostgreSQL, Redis ๋ฑ ์ถ๊ฐ ์๋น์ค ์ฐ๋ ์ฉ์ด |
๊ด๋ฆฌ ํจ์จ | docker-compose ๋ช
๋ น์ด๋ก ํตํฉ ๊ด๋ฆฌ |
โ๏ธ ์ฌ์ ์ค๋น
- Docker ์ค์น
๊ณต์ ๋ฌธ์ ์ฐธ๊ณsudo apt update && sudo apt install docker.io docker-compose
- ๋๋ ํ ๋ฆฌ ์์ฑ
mkdir n8n-docker && cd n8n-docker
๐ ๏ธ docker-compose.yml ์์ฑ (๊ธฐ๋ณธํธ)
version: '3.8'
services:
n8n:
image: n8nio/n8n
restart: always
ports:
- "5678:5678" # ์น ์ธํฐํ์ด์ค ํฌํธ
environment:
- N8N_BASIC_AUTH_ACTIVE=true
- N8N_BASIC_AUTH_USER=admin # ๐ ์ฌ์ฉ์๋ช
- N8N_BASIC_AUTH_PASSWORD=securepassword123! # ๐ ๋น๋ฐ๋ฒํธ
volumes:
- n8n_data:/home/node/.n8n # ๋ฐ์ดํฐ ์ง์์ฑ ๋ณด์ฅ
networks:
- n8n_network
volumes:
n8n_data: # ๋ณผ๋ฅจ ์์ฑ
networks:
n8n_network:
๐ฅ ๊ณ ๊ธ ์ค์ (DB + HTTPS)
version: '3.8'
services:
postgres:
image: postgres:13
environment:
POSTGRES_USER: n8n_user
POSTGRES_PASSWORD: db_password123!
POSTGRES_DB: n8n_db
volumes:
- pg_data:/var/lib/postgresql/data
n8n:
image: n8nio/n8n
depends_on:
- postgres
environment:
DB_TYPE: postgresdb
DB_POSTGRESDB_DATABASE: n8n_db
DB_POSTGRESDB_USER: n8n_user
DB_POSTGRESDB_PASSWORD: db_password123!
DB_POSTGRESDB_HOST: postgres
N8N_HOST: yourdomain.com # ๐ ๋๋ฉ์ธ ์ค์
N8N_PROTOCOL: https # ๐ HTTPS ๊ฐ์ ์ ์ฉ
VUE_APP_URL_BASE_API: https://yourdomain.com/
volumes:
- n8n_data:/home/node/.n8n
ports:
- "443:5678" # HTTPS ํ์ค ํฌํธ ๋งคํ
volumes:
n8n_data:
pg_data:
# ๐ก Tip: Nginx ์ญ๋ฐฉํฅ ํ๋ก์ ์ถ๊ฐ ์ ๋ณด์ ๊ฐํ ๊ฐ๋ฅ!
๐ ์คํ ๋ฐ ์ค์ง ๋ช ๋ น์ด
# ์์
docker-compose up -d
# ์ํ ํ์ธ
docker-compose ps
# ๋ก๊ทธ ๋ณด๊ธฐ
docker-compose logs -f n8n
# ์ค์ง (๋ฐ์ดํฐ ๋ณด์กด)
docker-compose down
๐ ์ด๊ธฐ ์ค์ ๊ฐ์ด๋
- ์ ์ ์ฃผ์:
http://์๋ฒIP:5678
- ์ํฌํ๋ก์ฐ ์์ฑ
- โ
Add Node
๋ก ํธ๋ฆฌ๊ฑฐ(์์์ ) ์ค์ - ๐ ๋ ธ๋ ์ฐ๊ฒฐํด ์๋ํ ํ๋ฆ ๊ตฌ์ฑ
- ์์: Gmail ์์ โ Slack ์๋ฆผ ์ ์ก
- โ
- ํฌ๋ ๋ด์
์ ์ฅ
๐ ํตํฉ ์๋น์ค API ํค๋ฅผ ์์ ํ๊ฒ ๊ด๋ฆฌ!
โ ๏ธ ์ฃผ์์ฌํญ & ์ต์ ํ ํ
- ๋ณด์ ๊ฐํ
- ๊ธฐ๋ณธ ์ธ์ฆ ํ์ (
N8N_BASIC_AUTH_ACTIVE=true
) N8N_ENCRYPTION_KEY
์ค์ ์ผ๋ก ๋ฏผ๊ฐ ๋ฐ์ดํฐ ์ํธํ
- ๊ธฐ๋ณธ ์ธ์ฆ ํ์ (
- ๋ฐฑ์
์ ๋ต
# ๋ณผ๋ฅจ ๋ฐ์ดํฐ ๋ฐฑ์ docker run --rm -v n8n_data:/source -v $(pwd):/backup busybox tar cvf /backup/n8n_backup.tar /source
- ๋ฆฌ์์ค ์ ํ
# docker-compose.yml ์ถ๊ฐ deploy: resources: limits: cpus: '1.0' memory: 2G
๐ฏ ๋ง๋ฌด๋ฆฌ
> “n8n + Docker Compose = ๋ฌดํ ์๋ํ ๊ฐ๋ฅ์ฑ”
๐ ๋น์ฆ๋์ค ํจ์จ์ฑ 200% ํฅ์
๐ก ์์ฉ ํด ๋๋น ๋น์ฉ ์ ๊ฐ (์์ฒด ํธ์คํ
๋ฌด๋ฃ!)
๐ง ์ ์ฐํ ์ปค์คํฐ๋ง์ด์ง ๊ฐ๋ฅ
์ค๋ ๊ตฌ์ฑํ ์ธํ๋ผ๋ก ๋งค์ผ ๋ฐ๋ณต๋๋ ์
๋ฌด๋ฅผ ์๋ํํด๋ณด์ธ์.
์ฒซ ์ํฌํ๋ก์ฐ ์คํ ์ฑ๊ณต ์ ์ฌ๋ฌ๋ถ์ ์๊ฐ์ ์ด๋ฏธ ์ ์ฝ๋๊ณ ์์ต๋๋ค!
> โจ ์ถ์ฒ ๋ค์ ๋จ๊ณ:
> – ๊ณต์ ๋ฌธ์์์ ๊ณ ๊ธ ๋
ธ๋ ํ์ต
> – GitHub ์ฐ๋์ผ๋ก ์ฝ๋ ํธ์ ์ ์๋ฆผ ์ค์
> – ์ผ์ผ ๋ฆฌํฌํธ ์๋ ์์ฑ ์ํฌํ๋ก์ฐ ๊ตฌํ
๋ฌธ์์ฌํญ์ ๋๊ธ๋ก ๋จ๊ฒจ์ฃผ์ธ์. ํจ๊ป ์ฑ์ฅํ๋ IT ์ธํ๋ผ ๋๊ธธ! ๐ D