홈 서버에서 Claude Code, Codex, OpenCode를 실행하고 휴대폰 브라우저로 진행 상황 확인하는 방법

안정적인 머신에서 세션을 실행하고 휴대폰으로 모니터링하는 실용적인 설정과, 클라우드 UI, SSH, 휴대폰 중심 대시보드 사이의 솔직한 트레이드오프.

기준 버전
CLI
0.2.17
프리뷰 ref
a2c45c8

진짜 작업은 키보드 앞에서 하는 겁니다.

하지만 오래 실행되는 세션을 지켜보는 일까지 그럴 필요는 없습니다.

Claude Code, Codex, OpenCode 세션이 20~60분 걸린다면, 휴대폰으로 상태를 확인할 수 있으면 좋겠죠.

제대로 된 SSH 환경이 아니라.

원격 데스크톱도 아니라.

그냥 브라우저를 열고, 무엇을 하는지 보고, 필요한 것에 답하고, 할 일을 계속하는 것.

"휴대폰은 브라우저만" 조건은 단순해 보이지만, 큰 갈림길이 숨어 있습니다.

  • 클라우드 UI(휴대폰에서 쓰기 쉽지만, 기본적으로 로컬 저장소가 아님)
  • 로컬 실행(저장소와 도구는 거기 있지만, 원격으로 다룰 화면이 필요함)

이 가이드는 로컬 실행과 휴대폰 확인을 모두 만족하는 설정을 다룹니다.

요약

  1. 어느 쪽을 원하는지 정합니다.
    • 클라우드 UI: 휴대폰 접속은 편하지만, 저장소 워크플로를 클라우드 프로젝트나 패치 중심으로 다시 짜야 합니다.
    • 로컬 / 서버 실행: 저장소와 도구는 내 머신에 남지만, 원격으로 다룰 화면이 필요합니다.
  2. 로컬 / 서버 실행을 고른다면, 절전되지 않는 머신(홈 서버 / 데스크톱 / 개발 머신)에서 세션을 실행합니다.
  3. 휴대폰에서 브라우저만으로 접속하려면 HTTPS(보안 컨텍스트)가 필요합니다. 셀프 호스팅이라면 Tailscale Serve로 https://*.ts.net URL을 얻는 것이 간단합니다.
  4. Happier는 여기서 잘 맞는 선택지 중 하나입니다. 제공되는 웹 UI가 휴대폰에서 쓰기 편하고, 문서에서도 Tailscale Serve를 공식 경로로 다룹니다.

문제

여기에는 두 가지 별개의 고통이 있습니다.

  1. 세션이 어디서 실행되는가(노트북 절전, Wi-Fi 끊김, 터미널 닫힘).
  2. 휴대폰에서 어떻게 보고 제어하는가.

대부분의 워크플로는 (1)은 해결해도 (2)는 해결하지 못합니다.

  • 서버에서 실행하면 도움이 되지만, 그렇다고 좋은 휴대폰 UI가 저절로 생기지는 않습니다.
  • 클라우드 UI는 휴대폰 UI를 주지만, 그렇다고 로컬 저장소가 저절로 따라오지는 않습니다.

일반적인 방법과 트레이드오프

  • 휴대폰에서 SSH: 되긴 하지만 휴대폰이 터미널이 됩니다.
  • 원격 데스크톱: 되긴 하지만 무겁고 잘못 누르기 쉽습니다.
  • 클라우드 UI: 휴대폰 경험은 훌륭하지만 "이건 내 저장소"라는 전제가 달라집니다.

더 잘 맞는 것은 다음 조합입니다.

  • 저장소를 가진 안정적인 머신에서 세션 실행
  • 휴대폰에서 쓰기 편한 브라우저 UI

Happier는 이 조합에 맞는 도구 중 하나입니다.

선택지 지도: 실제로 쓰는 세 가지 방법

선택지 A: 클라우드 UI(휴대폰 우선, 로컬 저장소는 뒷전)

"휴대폰은 브라우저만"을 간단히 실현하는 경로입니다.

트레이드오프: 동기화나 패치 워크플로에 공을 들이지 않으면, 보통 로컬 파일 시스템과 도구 체인을 그대로 쓰지 못합니다.

선택지 B: 터미널 중심(SSH / Mosh) + 사용성은 감수

모든 것이 로컬에 남습니다.

트레이드오프: 여전히 휴대폰으로 터미널 작업을 합니다.

선택지 C: 로컬 실행 + 제대로 된 원격 화면

"저장소는 내 머신에"와 "휴대폰 확인은 쉽게"를 함께 만족하는 지점입니다.

원격 화면은 다음이 될 수 있습니다.

  • 공식 원격 UI(Claude Remote Control)
  • 셀프 호스팅 대시보드
  • Happier 같은 컴패니언 앱 / 웹 UI

Happier가 처음이라면

Happier는 Claude Code, Codex, OpenCode 같은 코딩 세션을 위한 오픈 소스 컴패니언 앱(모바일 / 웹 / 데스크톱)입니다.

워크플로는 세션과 저장소를 신뢰하는 머신에서 계속 실행하고, 휴대폰의 Happier로 진행 상황을 보고, 승인을 처리하고, 후속 지시를 보내는 것입니다.

설정하기:

실제로 통하는 워크플로(Happier + Tailscale Serve)

머신을 직접 관리한다면, 브라우저만 쓸 때 권장하는 워크플로입니다.

1) 세션을 소유한 머신에서 Happier 실행하기

안정적인 머신을 고릅니다.

  • 홈 서버
  • 데스크톱
  • 항상 켜져 있는 개발 머신

2) 웹 UI용 HTTPS URL 마련하기(보안 컨텍스트)

브라우저는 http://localhost를 안전하다고 보지만, http://<lan-ip>와 http://<tailscale-ip>는 보안 컨텍스트가 아닙니다.

그래서 휴대폰 원격 접속에는 HTTPS를 씁니다.

Happier가 권장하는 경로는 Tailscale Serve로, tailnet 안에서 쓸 수 있는 https://*.ts.net URL을 줍니다.

Happier 스택 도구에서 빠른 시작은 이렇습니다.

hstack tailscale enable
hstack tailscale url

그다음 그 https://*.ts.net URL을 휴대폰(역시 Tailscale에 로그인한 상태)에서 엽니다.

3) 머신이 여러 대라면 다중 서버를 정리해 두기

서버가 여러 개가 되면(개인 + 업무 + 셀프 호스팅), 서버 프로필을 제대로 다루세요.

  • 인증은 서버별
  • 알림은 서버를 구분

"브라우저로만 확인"은 엉뚱한 서버 프로필에 있으면 실패하기 때문에 중요합니다.

4) 휴대폰 확인을 명확한 루프로 만들기

휴대폰에서는 단순하게:

  • 세션을 연다
  • 승인을 기다리고 있는지 확인한다
  • 질문 하나에 답하거나 후속 지시 하나를 보낸다

본격적인 편집이나 리팩터링이 필요하면 키보드 앞으로 돌아갈 때까지 기다리세요.

문제 해결

웹 UI는 열리는데 암호화 기능이 동작하지 않는다

거의 항상 "보안 컨텍스트가 아님"이 원인입니다.

LAN의 일반 HTTP 대신 HTTPS(Tailscale Serve / 제대로 된 TLS)를 쓰세요.

머신에는 접근되는데 세션이 보이지 않는다

확인할 것:

  • 올바른 서버 프로필을 쓰고 있는지
  • 그 머신의 데몬이나 런타임이 같은 서버에 연결되어 있는지

관련 가이드

mobileremoteserverclaudecodexopencodesecurity
마지막 업데이트: 2026-10-26