n8n을 Docker Compose로 띄우기 — 실전 입문
📋 실습 안내
✏️ CODE EDITOR (JSX)
▶ 실행 버튼을 눌러 코드를 테스트하세요.
👁️ 내 미리보기
내 코드 실행 결과
🎯 완성 미리보기
목표
위 에디터 코드를 수정해서 이 결과물과 똑같이 만들어보세요!
💡 TODO 주석을 채워서 위 결과물처럼 동작하게 만들어보세요
🤖 AI 선생님에게 질문하기
이번 강의 전용
▼
선생님이 답변 중이에요...
⚠️ 학습 관련 질문만 답변합니다. 관련 없는 질문은 자동으로 학습으로 유도됩니다.
Q1. n8n에서 크리덴셜(Credentials)을 암호화하는 환경변수는 무엇인가요?
💡 N8N_ENCRYPTION_KEY는 n8n이 저장하는 모든 크리덴셜(Google, Slack 등 인증 정보)을 암호화하는 데 사용됩니다. 이 키를 잃어버리거나 변경하면 기존 크리덴셜을 복호화할 수 없어서 모든 연동을 다시 설정해야 합니다.
Q2. n8n에서 PostgreSQL을 백엔드 DB로 사용하기 위한 환경변수 설정으로 올바른 것은?
💡 n8n에서 PostgreSQL을 사용하려면 DB_TYPE=postgresdb 로 설정해야 합니다. 주의할 점은 postgres가 아니라 postgresdb 입니다. 이 설정과 함께 DB_POSTGRESDB_HOST, DB_POSTGRESDB_DATABASE 등의 환경변수도 함께 설정해야 합니다.
Q3. docker-compose.yml에서 n8n 서비스가 PostgreSQL이 완전히 준비된 후에 시작되도록 하려면 어떻게 설정해야 하나요?
💡 단순히 depends_on에 서비스 이름만 나열하면 컨테이너가 시작되는 시점만 체크합니다. PostgreSQL이 실제로 접속 가능한 상태인지 확인하려면 healthcheck를 설정하고 condition: service_healthy를 사용해야 합니다. 그렇지 않으면 n8n이 DB 준비 전에 먼저 시작되어 연결 오류가 발생합니다.
Q4. n8n에서 WEBHOOK_URL 환경변수를 설정하는 이유는 무엇인가요?
💡 WEBHOOK_URL은 외부 서비스들이 n8n의 Webhook 노드를 트리거할 때 사용하는 공개 URL입니다. 예를 들어 GitHub이 코드 푸시 이벤트를 n8n에 전달할 때 이 URL로 요청합니다. Nginx 뒤에 n8n이 있는 경우, n8n 내부 포트가 아닌 실제 외부에서 접근 가능한 HTTPS URL을 설정해야 합니다.
Q5. n8n의 실행 이력 데이터를 자동으로 정리하려면 어떤 환경변수 조합을 사용해야 하나요?
💡 EXECUTIONS_DATA_PRUNE=true로 자동 정리를 활성화하고, EXECUTIONS_DATA_MAX_AGE로 보관 기간(시간 단위)을 설정합니다. 336시간은 14일입니다. 실행 이력은 계속 쌓이면 DB 용량을 과도하게 차지하므로 반드시 정리 설정을 해두어야 합니다. 성공한 실행은 EXECUTIONS_DATA_SAVE_ON_SUCCESS=none으로 저장 자체를 막는 것도 좋은 방법입니다.
😅
아쉽네요!
점수: 0점 — 70점 이상이 되어야 통과합니다.