💡 Docker는 '프로그램을 박스에 넣어서 어디서든 똑같이 실행하는 기술'이에요. 김치찌개를 이미 끓여서 통조림으로 만들면 어디서 열어도 똑같은 맛이 나오듯, Docker는 프로그램을 그 통조림처럼 만들어줍니다. Docker Compose는 여러 컨테이너를 한 번에 관리하는 도구예요.
Docker 설치
bash
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
usermod -aG docker $USER
docker --version
docker compose version
⚠️ usermod -aG docker $USER 명령어 후에는 로그아웃했다가 다시 로그인해야 변경이 적용됩니다.
폴더 구조 만들기
bash
mkdir -p ~/n8n
cd ~/n8n
mkdir -p data/n8n data/postgres
폴더 구조
text
~/n8n/
├── docker-compose.yml ← n8n 실행 설정 파일
├── .env ← 비밀번호 등 민감한 정보
└── data/
├── n8n/ ← n8n 워크플로우, 설정 저장 위치
└── postgres/ ← 데이터베이스 저장 위치
.env 파일
dotenv
# 데이터베이스 설정
POSTGRES_USER=n8n_user
POSTGRES_PASSWORD="여기에_강력한_비밀번호_입력"
POSTGRES_DB=n8n_db
# n8n 기본 설정
N8N_HOST=여기에_도메인_입력
N8N_PORT=5678
N8N_PROTOCOL=https
WEBHOOK_URL=https://여기에_도메인_입력/
# 암호화 키 (32자 이상 랜덤 문자열, 절대 변경 금지)
N8N_ENCRYPTION_KEY=여기에_랜덤문자열_32자_이상_입력
# 타임존 설정
GENERIC_TIMEZONE=Asia/Seoul
TZ=Asia/Seoul
# 실행 기록 자동 정리 (디스크 절약)
EXECUTIONS_DATA_PRUNE=true
EXECUTIONS_DATA_MAX_AGE=30
⚠️ .env 파일은 절대 GitHub 같은 곳에 올리면 안 됩니다! 비밀번호가 공개됩니다.