Vibe Coder Server: 어디서나 이어가는 나만의 AI 개발 서버

노트북과 스마트폰에서 원격 개발 서버의 AI 터미널에 접속하는 Vibe Coder Server 개념 이미지

Vibe Coder Server는 브라우저만 있으면 외부에서도 자신의 개발 머신에 접속해 Claude Code, Codex, OpenCode(GLM)를 사용할 수 있도록 만든 셀프호스팅 Docker 웹앱입니다. Linux와 Windows(WSL2), macOS에서 같은 개발 환경을 비교적 간단하게 구축하고, 장소가 바뀌어도 하던 작업을 이어가는 것이 목표입니다.

노트북과 스마트폰에서 원격 개발 서버의 AI 터미널에 접속하는 Vibe Coder Server 개념 이미지
브라우저와 개발 서버를 연결하는 Vibe Coder Server의 원격 작업 환경

개발할 시간이 부족해서 시작한 도구

시아메이커랩의 주인장은 개발이 본업이 아닙니다. 회사에서 쉬는 시간이 생기면 짬짬이 앱을 만들지만, 퇴근한 뒤에는 이제 8개월 된 예쁜 딸과 아내와 함께 시간을 보냅니다. 가족과 보내는 저녁을 포기하면서까지 노트북 앞에 앉고 싶지는 않았고, 그렇다고 머릿속에 떠오른 아이디어와 진행 중인 프로젝트를 계속 미뤄두고 싶지도 않았습니다.

결국 답은 시간을 더 만들어내는 것이 아니라 이미 존재하는 짧은 시간을 연결하는 데 있었습니다. 집 밖 작업실에 개발 서버를 두고, 회사 휴식 시간이나 이동 중에도 브라우저로 접속해 작업을 이어가는 방식입니다. 무거운 개발용 노트북을 늘 들고 다니지 않아도 되고, 환경을 다시 맞추느라 귀한 시간을 쓰지 않아도 됩니다.

회사 휴식 시간의 원격 개발과 저녁 가족 시간을 함께 표현한 Vibe Coder Server 제작 배경
짧은 틈을 개발 시간으로 연결하면서도 가족과의 저녁을 지키기 위한 원격 개발 방식

이 필요에서 Vibe Coder Server가 태어났습니다. 지금은 시아메이커랩 작업의 약 99%를 이 서버를 통해 진행합니다. 누군가를 설득하기 위해 만든 데모가 아니라, 개발자가 자기 문제를 해결하려고 만들고 매일 직접 사용하는 운영 도구에 가깝습니다.

Vibe Coder Server란?

Vibe Coder Server는 개발 머신에서 Docker로 실행하는 독립형 웹앱입니다. 서버 본체는 Kotlin과 Ktor 기반이며 PostgreSQL에 필요한 상태를 보존합니다. 웹 UI가 주 인터페이스이므로 별도 클라이언트를 설치하지 않아도 프로젝트 등록, AI 코딩 콘솔, 파일 확인, 빌드와 결과물 관리 같은 핵심 작업을 브라우저에서 수행할 수 있습니다.

  • 동일한 개발 환경: Linux, Windows의 WSL2, macOS에서 Docker를 이용해 같은 구조로 구성할 수 있습니다.
  • 어디서나 접속: 노트북은 물론 휴대전화와 태블릿의 브라우저에서도 작업을 확인하고 이어갈 수 있습니다.
  • 여러 AI 코딩 도구: Claude Code, OpenAI Codex, OpenCode(GLM)를 프로젝트별 터미널에서 선택해 사용합니다.
  • 상태 보존: 프로젝트 소스와 설정, 개발 도구, 인증 정보, 캐시는 호스트 디렉터리에 보존되도록 구성할 수 있습니다.
  • 개발 작업 연결: Git 저장소 등록, 웹 파일 탐색, 빌드 로그 확인, Android APK 빌드 등 반복 작업을 한 화면에서 이어갑니다.
Linux Windows WSL2 macOS에서 Docker 환경을 거쳐 Claude Code Codex OpenCode 터미널을 사용하는 구조
Linux·Windows(WSL2)·macOS에서 같은 Docker 개발 환경과 AI TUI를 이용하는 구조

JSON 메시지 대신 터미널을 그대로 사용하기까지

초기 버전은 각 AI가 내보내는 메시지를 JSON으로 받아 웹 화면에 보기 좋게 다시 그리는 비대화형 방식에 많은 비중을 두었습니다. 일정한 데이터 구조를 얻기에는 편했지만, 실제로 오래 사용해 보니 각 도구가 제공하는 상호작용을 온전히 살리기 어려웠습니다. 확인 질문, 선택 메뉴, 키 입력, 화면 갱신처럼 터미널에서는 자연스러운 흐름이 중간 변환 계층을 거치면서 제한됐습니다.

최근에는 이 한계를 받아들이고 Claude Code, Codex, OpenCode의 TUI를 PTY와 웹 터미널을 통해 날것에 가깝게 사용하는 방향으로 바꿨습니다. 사용자는 웹브라우저 안에서 실제 CLI 화면을 보고 입력하며, 서버는 연결과 세션을 유지하는 역할에 집중합니다. 동시에 직접 쓰면서 가치가 낮다고 판단한 히스토리 통계, 중복된 자동화와 여러 관리 화면도 대거 제거했습니다. 기능 수가 많아 보이는 것보다 매일 열어도 혼란스럽지 않고 작업이 끊기지 않는 것이 더 중요했기 때문입니다.

완성품이라기보다 계속 변하는 작업실

Vibe Coder Server는 수많은 시행착오를 거쳐 지금의 모습이 됐고, 지금도 개발자의 필요에 따라 수시로 업데이트됩니다. 실제 저장소에는 500개가 넘는 커밋이 쌓여 있습니다. 오늘 유용했던 기능이 다음 달에는 단순화되거나 사라질 수 있고, 더 나은 작업 방식이 확인되면 내부 구조도 과감하게 바뀔 수 있습니다.

따라서 특정 시점의 동작과 화면이 자신의 작업 방식에 잘 맞는다면 해당 버전을 유지하는 것도 좋은 선택입니다. 원하는 기능을 직접 바꾸고 싶다면 GitHub 저장소를 포크해 자신만의 서버로 수정해 사용하기를 권합니다. 이 프로젝트가 GNU Affero General Public License v3.0(AGPL-3.0)으로 공개된 이유도 여기에 있습니다. 라이선스 조건을 지키는 범위에서 누구나 소스를 살펴보고 포크하고 개선할 수 있습니다.

Docker로 시작하는 기본 흐름

저장소가 안내하는 빠른 시작은 Docker Compose 파일과 환경 변수 예제를 내려받고 데이터베이스 비밀번호를 설정한 뒤 컨테이너를 실행하는 방식입니다. 배포 이미지는 Linux의 AMD64·ARM64와 Apple Silicon 환경을 지원하며, Windows에서는 WSL2와 Docker 환경을 이용할 수 있습니다.

mkdir -p ~/vibe-coder && cd ~/vibe-coder
curl -fsSL https://raw.githubusercontent.com/siamakerlab/vibe-coder-server/main/docker/compose.yml -o compose.yml
curl -fsSL https://raw.githubusercontent.com/siamakerlab/vibe-coder-server/main/docker/.env.example -o .env
# .env에서 VIBECODER_DB_PASSWORD를 안전한 값으로 변경
docker compose up -dCode language: Bash (bash)

실행 후 기본 포트인 17880으로 접속해 관리자 계정을 만들고, 필요한 개발 도구와 AI 제공자 인증을 구성합니다. 프로젝트 데이터는 기본적으로 로컬의 vibe-coder-data 아래에 보존되므로 업데이트 전에 이 디렉터리를 백업하는 습관이 중요합니다.

원격 공개 전 반드시 생각할 보안

이 웹앱은 한 명의 운영자가 사용하는 셀프호스팅 도구를 전제로 하며, 로그인한 관리자는 프로젝트와 터미널에 강한 권한을 갖습니다. 인터넷에 그대로 포트를 노출하기보다 HTTPS 역방향 프록시, VPN 또는 신뢰할 수 있는 접근 제어를 두고 강력한 비밀번호와 2단계 인증을 사용하는 편이 안전합니다. 저장소에는 세션 보호, CSRF 검사, WebSocket Origin 검사, 로그인 시도 제한과 감사 로그 같은 장치가 있지만, 개발 머신 자체를 외부에 연결한다는 사실은 운영자가 책임 있게 판단해야 합니다.

시간을 빼앗지 않고, 흩어진 시간을 잇는 개발

Vibe Coder Server가 해결하려는 문제는 단순히 “휴대전화에서 코딩하기”가 아닙니다. 서로 다른 장소와 기기 사이에서 개발 환경을 다시 준비하는 비용을 줄이고, 짧게 흩어진 시간을 하나의 연속된 작업 흐름으로 바꾸는 일입니다. 회사의 짧은 휴식 시간에도 아이디어를 기록하고 AI에게 작업을 맡길 수 있으며, 저녁에는 서버가 일을 이어가는 동안 가족과 함께할 수 있습니다.

누구에게나 맞는 완성형 플랫폼이라고 말할 수는 없습니다. 하지만 비슷한 시간 제약 속에서 개인 프로젝트를 이어가는 개발자라면, 직접 운영하고 자기 방식에 맞게 고칠 수 있는 현실적인 출발점이 될 수 있습니다.

이 글은 2026년 7월 25일 공개 저장소의 상태를 기준으로 작성했습니다. 프로젝트가 빠르게 업데이트되므로 최신 기능과 설치 방법은 GitHub README와 CHANGELOG를 확인해 주세요.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다