# Container 이름 가져오기
docker ps
# Container 들어가기
docker exec -it <n8n_container_name> /bin/bash
# 의존성 설치
npm install cheerio crawlee playwright
services:
n8n:
image: n8nio/n8n:latest
restart: always
container_name: n8n
ports:
- "${N8N_PORT}:5678"
environment:
- N8N_HOST=${N8N_HOST}
- N8N_PORT=${N8N_PORT}
- N8N_PROTOCOL=${N8N_PROTOCOL}
- NODE_ENV=production
- N8N_ENCRYPTION_KEY=${N8N_ENCRYPTION_KEY}
- N8N_WEBHOOK_URL=${N8N_WEBHOOK_URL}
- WEBHOOK_URL=${WEBHOOK_URL}
- DB_TYPE=postgresdb
- DB_POSTGRESDB_HOST=postgres
- DB_POSTGRESDB_PORT=5432
- DB_POSTGRESDB_DATABASE=${POSTGRES_DB}
- DB_POSTGRESDB_USER=${POSTGRES_USER}
- DB_POSTGRESDB_PASSWORD=${POSTGRES_PASSWORD}
- N8N_EMAIL_MODE=${N8N_EMAIL_MODE}
- N8N_SMTP_HOST=${N8N_SMTP_HOST}
- N8N_SMTP_PORT=${N8N_SMTP_PORT}
- N8N_SMTP_USER=${N8N_SMTP_USER}
- N8N_SMTP_PASS=${N8N_SMTP_PASS}
- N8N_SMTP_SENDER=${N8N_SMTP_SENDER}
- N8N_TRUSTED_PROXIES=*
- N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
- N8N_RUNNERS_ENABLED=true
- GENERIC_TIMEZONE=Asia/Seoul
- PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true
- PPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser
volumes:
- ./n8n_data:/home/node/.n8n
depends_on:
- postgres
networks:
- n8n-network
postgres:
container_name: n8n-db
image: postgres:14-alpine
restart: always
environment:
- POSTGRES_DB=${POSTGRES_DB}
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
volumes:
- postgres_data:/var/lib/postgresql/data
networks:
- n8n-network
ports:
- "5432:5432"
volumes:
n8n_data:
postgres_data:
networks:
n8n-network:
driver: bridge
# n8n 기본 설정
N8N_HOST=도메인
N8N_PORT=5678
N8N_PROTOCOL=https
# 보안을 위한 암호화 키 (무작위 문자열 생성 필요)
N8N_ENCRYPTION_KEY=원하는 문자열
# Webhook URL 설정
# 외부에서 접근 가능한 완전한 URL (포트 포함)
N8N_WEBHOOK_URL=https://도메인
# 이전 버전 호환성을 위한 설정 (둘 다 설정하는 것이 좋음)
WEBHOOK_URL=https://도메인
# PostgreSQL 데이터베이스 설정
POSTGRES_DB=n8n
POSTGRES_USER=n8n
POSTGRES_PASSWORD=원하는 문자열
# 이메일 설정 (선택사항)
N8N_EMAIL_MODE=smtp
N8N_SMTP_HOST=mail.smtp2go.com
N8N_SMTP_PORT=465
N8N_SMTP_USER=
N8N_SMTP_PASS=
N8N_SMTP_SENDER=
# 프록시 및 보안 설정
N8N_TRUSTED_PROXIES=*
N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
N8N_RUNNERS_ENABLED=true