Skip to main content

Hetzner 에서 OpenClaw 실행 (Docker, 프로덕션 VPS 가이드)

목표

Docker 를 사용하여 Hetzner VPS 에서 영속적인 OpenClaw Gateway(게이트웨이) 를 실행하고, 내구성 있는 상태, 이미지에 포함된 바이너리, 안전한 재시작 동작을 보장합니다. “약 $5 로 OpenClaw 24/7”을 원한다면, 이것이 가장 단순하고 신뢰할 수 있는 설정입니다. Hetzner 가격은 변경될 수 있으므로, 가장 작은 Debian/Ubuntu VPS 를 선택하고 OOM 이 발생하면 확장하십시오.

우리는 무엇을 하고 있나요? (쉽게 설명하면)

  • 소형 Linux 서버 (Hetzner VPS) 임대
  • Docker 설치 (격리된 앱 런타임)
  • Docker 에서 OpenClaw Gateway(게이트웨이) 시작
  • 호스트에 ~/.openclaw + ~/.openclaw/workspace 영속화 (재시작/재빌드 후에도 유지)
  • SSH 터널을 통해 노트북에서 Control UI 접근
Gateway(게이트웨이) 접근 방법:
  • 노트북에서 SSH 포트 포워딩
  • 방화벽과 토큰을 직접 관리하는 경우 포트를 직접 노출
이 가이드는 Hetzner 의 Ubuntu 또는 Debian 을 가정합니다.
다른 Linux VPS 를 사용하는 경우 패키지를 적절히 매핑하십시오. 일반적인 Docker 흐름은 Docker를 참고하십시오.

빠른 경로 (숙련된 운영자)

  1. Hetzner VPS 프로비저닝
  2. Docker 설치
  3. OpenClaw 리포지토리 클론
  4. 영속적인 호스트 디렉토리 생성
  5. .envdocker-compose.yml 구성
  6. 필요한 바이너리를 이미지에 포함
  7. docker compose up -d
  8. 영속성 및 Gateway(게이트웨이) 접근 확인

필요한 사항

  • root 접근이 가능한 Hetzner VPS
  • 노트북에서의 SSH 접근
  • SSH + 복사/붙여넣기에 대한 기본 숙련도
  • 약 20분
  • Docker 및 Docker Compose
  • 모델 인증 자격 증명
  • 선택적 프로바이더 자격 증명
    • WhatsApp QR
    • Telegram 봇 토큰
    • Gmail OAuth

1. VPS 프로비저닝

Hetzner 에서 Ubuntu 또는 Debian VPS 를 생성합니다. root 로 접속합니다:
이 가이드는 VPS 가 상태를 유지한다고 가정합니다. 이를 일회성 인프라로 취급하지 마십시오.

2. Docker 설치 (VPS 에서)

확인:

3. OpenClaw 리포지토리 클론

이 가이드는 바이너리 영속성을 보장하기 위해 커스텀 이미지를 빌드한다고 가정합니다.

4. 영속적인 호스트 디렉토리 생성

Docker 컨테이너는 일시적입니다. 모든 장기 상태는 호스트에 존재해야 합니다.

5. 환경 변수 구성

리포지토리 루트에 .env 을 생성합니다.
강력한 시크릿을 생성합니다:
이 파일을 커밋하지 마십시오.

6. Docker Compose 구성

docker-compose.yml 을 생성하거나 업데이트합니다.
--allow-unconfigured는 부트스트랩 편의를 위한 옵션일 뿐이며, 적절한 게이트웨이 구성의 대체물이 아닙니다. 배포 환경에 맞게 인증(gateway.auth.token 또는 비밀번호)을 설정하고 안전한 바인드 설정을 사용하세요.

7. 필요한 바이너리를 이미지에 포함 (중요)

실행 중인 컨테이너 안에 바이너리를 설치하는 것은 함정입니다. 런타임에 설치된 모든 것은 재시작 시 사라집니다. Skills 에 필요한 모든 외부 바이너리는 이미지 빌드 시점에 설치되어야 합니다. 아래 예시는 세 가지 일반적인 바이너리만을 보여줍니다:
  • Gmail 접근을 위한 gog
  • Google Places 를 위한 goplaces
  • WhatsApp 을 위한 wacli
이는 예시이며 완전한 목록이 아닙니다. 동일한 패턴을 사용하여 필요한 만큼 바이너리를 설치할 수 있습니다. 나중에 추가 바이너리에 의존하는 새로운 Skills 를 추가하는 경우 다음을 수행해야 합니다:
  1. Dockerfile 업데이트
  2. 이미지 재빌드
  3. 컨테이너 재시작
예시 Dockerfile

8. 빌드 및 실행

바이너리 확인:
예상 출력:

9. Gateway(게이트웨이) 확인

성공:
노트북에서:
열기: http://127.0.0.1:18789/ Gateway 토큰을 붙여넣습니다.

무엇이 어디에 영속화되는가 (단일 기준점)

OpenClaw 는 Docker 에서 실행되지만, Docker 가 단일 기준점은 아닙니다. 모든 장기 상태는 재시작, 재빌드, 재부팅 이후에도 유지되어야 합니다.

Infrastructure as Code (Terraform)

인프라를 코드로 관리하는 워크플로를 선호하는 팀을 위해, 커뮤니티에서 유지 관리하는 Terraform 설정은 다음을 제공합니다:
  • 원격 상태 관리를 포함한 모듈식 Terraform 구성
  • cloud-init을 통한 자동 프로비저닝
  • 배포 스크립트(bootstrap, deploy, backup/restore)
  • 보안 강화(firewall, UFW, SSH 전용 액세스)
  • gateway 액세스를 위한 SSH 터널 구성
리포지토리: 이 접근 방식은 재현 가능한 배포, 버전 관리되는 인프라, 자동화된 재해 복구를 통해 위의 Docker 설정을 보완합니다.
참고: 커뮤니티에서 유지 관리됩니다. 문제 발생 또는 기여 방법은 위의 저장소 링크를 참고하세요.