OffshoreVps
튜토리얼2026년 10월 4일읽는 시간 7분작성: OffshoreVps 팀

VPS에서 Docker Compose로 n8n과 AI 에이전트 배포하기

Postgres와 HTTPS로 n8n을 셀프 호스팅하고, AI 에이전트 워크플로를 만들고, 웹훅을 보호하고, 데이터와 암호화 키를 백업하는 방법을 다룹니다.

n8n은 시각적 편집기로 앱, API, AI 모델을 연결하는 워크플로 도구입니다. 셀프 호스팅하면 워크플로, 자격 증명, 데이터가 내가 통제하는 서버에 머물며 실행 횟수에 따른 과금이 없습니다. 이 가이드는 Docker Compose, Postgres 데이터베이스, HTTPS로 n8n을 배포하여 AI 에이전트를 24시간 실행할 준비를 합니다.

n8n과 AI 에이전트를 배포하는 데 사용하는 명령어를 보여 주는 VPS의 터미널 창으로, “mkdir -p ~/n8n && cd ~/n8n”로 시작함
이 가이드에서 서버에서 실행하게 될 명령어의 종류입니다.

에이전트에 VPS를 쓰는 이유

에이전트는 스케줄에 따라 실행되거나 웹훅에 반응하는 경우가 많아서 항상 켜져 있고 접근 가능한 서버가 필요합니다. VPS는 웹훅용 고정 주소와 워크플로가 빠르게 반응하도록 하는 충분한 RAM을 제공합니다. 2 vCPU, 4 GB 요금제는 소규모 구성에 적합합니다. 사이즈는 AI 에이전트 호스팅을 참고하고, 로컬 모델을 원한다면 GPU 서버를 추가하세요.

시작하기 전에

1단계: Compose 파일

mkdir -p ~/n8n && cd ~/n8n
cat > compose.yaml <<'YAML'
services:
  db:
    image: postgres:16
    restart: unless-stopped
    environment:
      POSTGRES_USER: n8n
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_DB: n8n
    volumes:
      - db:/var/lib/postgresql/data

  n8n:
    image: n8nio/n8n:latest
    restart: unless-stopped
    depends_on: [db]
    environment:
      DB_TYPE: postgresdb
      DB_POSTGRESDB_HOST: db
      DB_POSTGRESDB_USER: n8n
      DB_POSTGRESDB_PASSWORD: ${DB_PASSWORD}
      N8N_HOST: n8n.example.com
      N8N_PROTOCOL: https
      WEBHOOK_URL: https://n8n.example.com/
      N8N_ENCRYPTION_KEY: ${ENCRYPTION_KEY}
      GENERIC_TIMEZONE: UTC
    ports:
      - "127.0.0.1:5678:5678"
    volumes:
      - n8n:/home/node/.n8n

volumes:
  db:
  n8n:
YAML

2단계: 시크릿

cat > .env <<ENV
DB_PASSWORD=$(openssl rand -hex 24)
ENCRYPTION_KEY=$(openssl rand -hex 32)
ENV
chmod 600 .env

ENCRYPTION_KEY를 백업하세요. 이 키가 없으면 n8n이 저장된 자격 증명을 복호화할 수 없습니다.

이 가이드의 단계를 순서대로 나열하면 다음과 같습니다. 1. 에이전트에 VPS를 쓰는 이유; 2. 시작하기 전에; 3. 시크릿; 4. n8n 시작; 5. 에이전트 워크플로 구축; 6. 안전하게 유지하기
이 가이드의 단계를 순서대로 나열한 것입니다.

3단계: n8n 시작

docker compose up -d
docker compose logs -f n8n

4단계: HTTPS

n8n.example.com {
  reverse_proxy 127.0.0.1:5678
}

Caddy를 다시 로드하고 사이트를 열어 소유자 계정을 만드세요.

5단계: 에이전트 워크플로 구축

  1. Webhook 또는 Schedule 트리거를 추가하세요.
  2. AI Agent 노드를 추가하고 호스팅 API 같은 채팅 모델 또는 내 GPU 서버의 Ollama를 연결하세요.
  3. HTTP 요청, 데이터베이스, 메시징 노드 같은 도구를 에이전트에 제공하세요.
  4. 수동 실행으로 테스트한 다음 워크플로를 활성화하세요.

안전하게 유지하기

  • n8n을 127.0.0.1에 바인딩하고 HTTPS 프록시만 노출하세요.
  • 가능하면 비밀 헤더나 경로로 웹훅을 보호하세요.
  • Postgres 볼륨과 n8n 볼륨을 백업하세요. restic 또는 borg 백업을 참고하세요.
  • 릴리스 노트를 읽은 후 docker compose pull && docker compose up -d로 업데이트하세요.