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 접근
- 노트북에서 SSH 포트 포워딩
- 방화벽과 토큰을 직접 관리하는 경우 포트를 직접 노출
다른 Linux VPS 를 사용하는 경우 패키지를 적절히 매핑하십시오. 일반적인 Docker 흐름은 Docker를 참고하십시오.
빠른 경로 (숙련된 운영자)
- Hetzner VPS 프로비저닝
- Docker 설치
- OpenClaw 리포지토리 클론
- 영속적인 호스트 디렉토리 생성
.env및docker-compose.yml구성- 필요한 바이너리를 이미지에 포함
docker compose up -d- 영속성 및 Gateway(게이트웨이) 접근 확인
필요한 사항
- root 접근이 가능한 Hetzner VPS
- 노트북에서의 SSH 접근
- SSH + 복사/붙여넣기에 대한 기본 숙련도
- 약 20분
- Docker 및 Docker Compose
- 모델 인증 자격 증명
- 선택적 프로바이더 자격 증명
- WhatsApp QR
- Telegram 봇 토큰
- Gmail OAuth
1. VPS 프로비저닝
Hetzner 에서 Ubuntu 또는 Debian VPS 를 생성합니다. root 로 접속합니다: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
- Dockerfile 업데이트
- 이미지 재빌드
- 컨테이너 재시작
8. 빌드 및 실행
9. Gateway(게이트웨이) 확인
http://127.0.0.1:18789/
Gateway 토큰을 붙여넣습니다.
무엇이 어디에 영속화되는가 (단일 기준점)
OpenClaw 는 Docker 에서 실행되지만, Docker 가 단일 기준점은 아닙니다. 모든 장기 상태는 재시작, 재빌드, 재부팅 이후에도 유지되어야 합니다.| 구성 요소 | 위치 | 영속성 메커니즘 | 참고 자료 |
|---|---|---|---|
| Gateway 설정 | /home/node/.openclaw/ | 호스트 볼륨 마운트 | openclaw.json, 토큰 포함 |
| 모델 인증 프로필 | /home/node/.openclaw/ | 호스트 볼륨 마운트 | OAuth 토큰, API 키 |
| Skill 설정 | /home/node/.openclaw/skills/ | 호스트 볼륨 마운트 | Skill 수준 상태 |
| 에이전트 작업 공간 | /home/node/.openclaw/workspace/ | 호스트 볼륨 마운트 | 코드 및 에이전트 아티팩트 |
| WhatsApp 세션 | /home/node/.openclaw/ | 호스트 볼륨 마운트 | QR 로그인 유지 |
| Gmail 키링 | /home/node/.openclaw/ | 호스트 볼륨 + 비밀번호 | GOG_KEYRING_PASSWORD 필요 |
| 외부 바이너리 | /usr/local/bin/ | Docker 이미지 | Must be baked at build time |
| Node 런타임 | 컨테이너 파일 시스템 | Docker 이미지 | 매 이미지 빌드마다 재생성 |
| OS 패키지 | 컨테이너 파일 시스템 | Docker 이미지 | 런타임에 설치하지 말 것 |
| Docker 컨테이너 | 일회성입니다 | 재시작 가능 | 삭제해도 안전함 |
Infrastructure as Code (Terraform)
인프라를 코드로 관리하는 워크플로를 선호하는 팀을 위해, 커뮤니티에서 유지 관리하는 Terraform 설정은 다음을 제공합니다:- 원격 상태 관리를 포함한 모듈식 Terraform 구성
- cloud-init을 통한 자동 프로비저닝
- 배포 스크립트(bootstrap, deploy, backup/restore)
- 보안 강화(firewall, UFW, SSH 전용 액세스)
- gateway 액세스를 위한 SSH 터널 구성
- 인프라: openclaw-terraform-hetzner
- Docker 설정: openclaw-docker-config
참고: 커뮤니티에서 유지 관리됩니다. 문제 발생 또는 기여 방법은 위의 저장소 링크를 참고하세요.