Hermes 이사, 또 이사: 맥북 로컬에서 OCI 클라우드까지 3단계 정착기

최근 오픈소스 자율 AI 에이전트인 Hermes Agent를 써보고 있다.

처음에는 작업할 파일도 다 로컬에 있고 세팅도 가장 빠르다 보니 아무런 고민 없이 맥북에 바로 설치했다.

# 맥북 터미널에서 한 줄로 끝내는 설치
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash

조금 쓰다보니 내 모든 파일에 접근할 수 있다는게 좀 불안해지기 시작했다.

덜 불안하려면 위험한 행위마다 사용자가 일일이 승인(Approval)해 주는 형태로 가야 하는데, 매번 터미널 앞에서 ‘y’를 누르고 있자니 여간 귀찮은 게 아니었고 에이전트 특유의 자율성도 완전히 죽어버렸다.

Cyber Security and Container Sandbox

▲ 로컬 호스트를 에이전트에게 통째로 맡기기엔 보안의 불안감이 너무 컸다.


두 번째 집: 로컬 도커(Docker)와 VNC의 발견

이런 걱정을 해결하기 위해 문서를 뒤져보니, Hermes Agent 공식 보안 문서Docker 가이드에 시스템 보호를 위해 도커 컨테이너 격리 환경을 쓰라고 친절히 안내되어 있었다.

에이전트가 격리된 컨테이너 내부(/opt/data)에서만 마음껏 작업하게 하면, 호스트 맥북의 파일이 손상되거나 유출될 걱정 없이 완전 자율 모드로 편하게 굴릴 수 있다.

# 호스트와 격리된 도커 컨테이너로 Hermes 실행
docker run -d   --name hermes   -v ~/.hermes:/opt/data   nousresearch/hermes-agent gateway run

그렇게 내 에르메스의 두 번째 집은 로컬 도커가 되었다.

“GUI 브라우저 제어와 로그인은 어떻게 하지?”

그런데 한 가지 큰 걱정이 생겼다. 네이버 블로그 관리자 통계를 읽거나 이웃 새글 공감 같은 작업을 시키려면 브라우저를 제어하게 해줘야 하는데, 네이버 로그인은 보안상 내가 직접 해주는 식으로 해야 했다.

디스플레이가 없는(헤드리스) 리눅스 도커 안에서 화면을 보며 로그인하는 게 과연 될까? 결론적으로는 VNC(Virtual Network Computing)라는 기술로 깔끔하게 해결할 수 있었다.

VNC(Virtual Network Computing)란?
원격 서버나 컨테이너에 떠 있는 가상 그래픽 화면(X11 디스플레이)을 내 로컬 PC 화면으로 실시간 중계하고 마우스/키보드 입력을 전달해 주는 원격 데스크톱 기술이다.

컨테이너 안에 가상 디스플레이(DISPLAY=:99)와 Chromium 브라우저, 그리고 x11vnc 서버를 띄워두니, 맥북의 VNC 뷰어 앱으로 접속해 내 손으로 안전하게 네이버 로그인을 마칠 수 있었다. 로그인이 완료된 Chromium 프로필을 에이전트가 이어받아 백그라운드에서 브라우저 작업을 완벽하게 수행했다.


세 번째 집: 결국 다시 이사, OCI 클라우드로

로컬 도커로 보안과 브라우저 제어 문제는 해결했지만, 막상 설치하고 일상에서 써보니 이동 중에 못 쓴다는 점이 꽤나 아쉬웠다.

처음엔 컴퓨터 앞에 앉아있을 때만 써도 충분할 거라 생각했다. 주말엔 외출할 때 맥북을 계속 켜두면 될 줄 알았다. 하지만 대중교통으로 이동할 때 스마트폰(텔레그램)으로 에이전트에게 문득 떠오른 아이디어를 정리시키거나 지표 브리핑을 받고 싶을 때, 맥북이 잠자기 모드에 들어가 있으면 아무것도 할 수 없었다.

결국 24시간 켜져 있는 원격 서버로 다시 이사를 결심했다.

Remote Cloud Server and Mobility

▲ 24시간 상시 가동되는 클라우드 환경이 절실해졌다.

라즈베리 파이 vs OCI (오라클 클라우드)

여기서 살짝 고민 포인트가 있었다:

  • 집에서 놀고 있는 라즈베리 파이 4: 2010년대 후반에 구매한 녀석인데, 놀려두는 게 아깝긴 했다. 하지만 워낙 오래되어 메모리와 I/O 성능이 에이전트의 멀티태스킹이나 도커 빌드, 브라우징을 감당하기엔 버거울 것 같았다.
  • 취미용으로 돌리고 있던 OCI(Oracle Cloud) 서버: 상시 전원과 네트워크가 안정적이고 성능도 넉넉했다.

결국 라즈베리 파이의 아쉬움을 뒤로하고 OCI 서버에 최종 둥지를 틀기로 했다.


옵시디안(Obsidian) 동기화 고민 해결

로컬 도커일 때는 맥북의 옵시디안 볼트(Vault) 폴더를 그냥 도커 볼륨으로 마운트(-v)해 주는 식으로 해결했다. 하지만 원격 서버는 로컬 폴더 마운트가 안 되니 어떻게 하나 고민이 되었다.

답은 생각보다 간단했다. 마침 옵시디안 공식 싱크(Obsidian Sync)를 쓰고 있었기 때문에, 원격 서버에 옵시디안 동기화 환경을 구성하고 볼트를 싱크하는 것으로 깔끔하게 해결했다.

[아이폰 / 맥북] ──(Obsidian Sync)──> [Obsidian Cloud] <──(Obsidian Sync)── [OCI 원격 서버 (Hermes)]

이렇게 세팅해 두니:

  1. 이동 중에 내가 폰으로 적은 옵시디안 메모를 원격의 Hermes가 바로 읽어서 분석하고,
  2. Hermes가 원격에서 작성한 블로그 초안이나 분석 리포트가 내 맥북과 아이폰의 옵시디안에 실시간으로 동기화된다.

정리하며

세 번의 이사를 거치며 정착한 지금의 구조는 다음과 같다:

  • 인프라: OCI 클라우드 상시 가동 리눅스 서버
  • 보안 격리: 도커(Docker) 컨테이너 내 안전한 실행
  • 브라우저 제어: 가상 디스플레이 + VNC 수동 로그인 + CDP 자동화
  • 인터페이스: 텔레그램 봇 게이트웨이 (스마트폰으로 어디서든 지시)
  • 지식 베이스: 옵시디안 싱크(Obsidian Sync)로 양방향 실시간 동기화

AI 에이전트를 내 로컬 머신에 가둬두지 않고 24시간 깨어있는 클라우드로 보내고 나니, 출퇴근 지하철이든 침대 위든 스마트폰 하나로 언제든 든든한 개인 비서를 부릴 수 있게 되었다.

댓글 남기기

이 사이트는 Akismet을 사용하여 스팸을 줄입니다. 댓글 데이터가 어떻게 처리되는지 알아보세요.