ChatGPT로 바이브 코딩하기 (2): 내 PC를 Docker + Cloudflare Tunnel로 안전하게 열기
1편에서는 VPS 같은 클라우드 컴퓨터에 cokacremote MCP 서버를 설치해서 ChatGPT를 코딩 에이전트처럼 쓰는 방법을 다뤘다. 이번 편에서는 별도 VPS 없이, 지금 내가 쓰고 있는 PC를 ChatGPT가 다루도록 구성하는 방법을 다룬다.
1편에서는 VPS 같은 클라우드 컴퓨터에 cokacremote MCP 서버를 설치해서 ChatGPT를 코딩 에이전트처럼 쓰는 방법을 다뤘다. 이번 편에서는 별도 VPS 없이, 지금 내가 쓰고 있는 PC를 ChatGPT가 다루도록 구성하는 방법을 다룬다.
참고 영상: 챗GPT가 내 컴퓨터 상에서 AI 코딩 에이전트로써 작동하게 하는 방법 바이브코딩 (코드 깎는 노인)
내 PC를 그냥 열면 안 되는 이유
ChatGPT가 내 컴퓨터에서 명령을 실행하고, 코드를 편집하고, 실행까지 하게 하려면 결국 두 가지를 감수해야 한다.
- 내 컴퓨터로 들어올 수 있는 네트워크 문을 인터넷에 열어야 한다.
- 그 문으로 들어온 AI가 컴퓨터를 꽤 강한 권한으로 조작할 수 있게 해야 한다.
1편에서 다룬 cokacremote 자체가 “샌드박스도, 명령어 제한도, 경로 제한도 없다”고 스스로 경고하는 도구이기 때문에, 이걸 내가 매일 쓰는 진짜 PC에 그대로 열어주는 건 부담이 크다.
그래서 이번 구성의 핵심은 두 가지다.
- 진짜 컴퓨터 대신 그 안의 가상 컴퓨터(Docker 컨테이너)에 문을 연다. cokacremote가 뭘 하든 컨테이너 밖으로는 못 나가게 막는다.
- 네트워크를 직접 여는 대신 터널 서비스로 연결한다. 방화벽에 포트를 뚫을 필요가 없다.
터널 서비스는 이 글에서 Cloudflare Tunnel 기준으로 설명한다. 이미 도메인이 있거나 Cloudflare를 쓰고 있다면 이 방법이 편하다. 도메인 없이 계정 하나로 바로 시작하고 싶다면, 글 후반의 번외: Cloudflare 대신 Tailscale Funnel 쓰기로 건너뛰어도 된다.
준비물
- 인터넷 도메인 주소 1개 (없으면 새로 구매)
- Cloudflare 계정 (무료 요금제로 충분)
- Docker (Docker Desktop 등)
- ChatGPT 개발자 모드
1단계: 도메인을 Cloudflare로 연결하기
- Cloudflare 대시보드 → Domains → Add a domain에서 사용할 도메인을 입력하고 계속 진행한다. 요금제는 무료로 선택해도 된다.
- 연결된 도메인 정보에 CNAME 레코드가 있다면 삭제한다.
- Continue to Activation을 누르면 Cloudflare가 안내하는 네임서버 주소 2개가 나온다.
- 이 네임서버 주소를 도메인을 구매한 사이트(예: Namecheap)의 도메인 설정에서 기존 네임서버 대신 등록한다.
- Cloudflare 대시보드로 돌아와 I’ve updated my nameservers 버튼을 누르고 잠시 기다리면 상태가 활성화(녹색)로 바뀐다.
2단계: Cloudflare Tunnel 만들기

- 도메인 화면 왼쪽 메뉴에서 Networking → Tunnels로 들어간다.
- Create a tunnel을 누르고 원하는 이름을 붙인다.
- Continue를 누르면 버튼이 비활성화되어 있을 텐데, 이건 터널을 받아줄 준비가 내 PC 쪽에 아직 안 되어 있어서다. 이 단계는 3단계를 끝낸 뒤 이어서 진행한다.
3단계: Docker 컨테이너로 cokacremote 준비하기

- Docker를 설치하고 실행한다.
- 터미널을 열고, cokacremote 저장소를 문서 폴더 등 원하는 위치에 받아 실행 스크립트를 진행한다 (저장소의 설치 안내를 그대로 따라간다). 이미 같은 이름의 폴더가 있다면 먼저 정리한다.
- 설치 스크립트가 끝나면 가상 컴퓨터(컨테이너) 설정 파일 경로가 출력된다. 이 파일을 코드 편집기로 연다.
- 설정 파일에서 다음 세 가지를 채워 넣는다.
- MCP Public URL: 앞서 준비한 내 도메인 주소
- Cloudflare Tunnel Token: Cloudflare Tunnel 화면에서 Docker 연결용 버튼을 누르면 나오는 명령어 안에 토큰 값이 있다. 그 값만 복사해서 넣는다 (
--token옵션과 공백 부분은 제외하고 토큰 문자열만). - Shared Path: 실제 내 컴퓨터에서 ChatGPT가 접근하도록 공유할 폴더 경로. 이 폴더 하나만 컨테이너에 공유되므로, ChatGPT는 컨테이너 안에서는 자유롭게 돌아다닐 수 있어도 실제 내 PC에서는 이 폴더 안에서만 작업할 수 있다.
미리 문서 폴더 안에 작업 전용 폴더(예:
cokac-work)를 하나 만들어두고, 그 폴더를 마우스 오른쪽 클릭 → Option 키를 누른 상태에서 Copy as Pathname으로 절대경로를 복사해 붙여넣으면 편하다. - 설정을 저장하고, 안내된 실행 명령어를 터미널에서 실행한다. 그러면 이 설정대로 Docker 컨테이너가 만들어지고 실행된다.
컨테이너가 정상적으로 뜨면 Cloudflare 쪽에서도 “이 컴퓨터가 연결을 받아들일 준비가 됐다”는 게 확인된다. 이제 2단계에서 멈춰뒀던 Continue 버튼이 활성화된다.
4단계: Tunnel에 라우트 추가하기
- Cloudflare Tunnel 화면에서 방금 만든 터널 이름을 누르고 Add a route를 누른다.
- Public hostname 방식을 선택한다.
- 도메인은 앞서 연결한 도메인으로 되어 있는지 확인한다.
- Service URL에
http://localhost:2999를 입력한다. Cloudflare로 들어온 요청은 컨테이너 안의 Nginx가 이 주소로 먼저 받아서 처리하도록 구성되어 있다. - Add route를 누르면 끝이다.
이 시점부터 내 컴퓨터 안의 Docker 컨테이너에서 돌아가는 cokacremote MCP 서버로, 연결해둔 도메인을 통해 인터넷 어디서든 접속할 수 있게 된다.
5단계: ChatGPT에 MCP 서버 연결하기

- ChatGPT 설정 → 보안 및 로그인에서 개발자 모드를 켠다.
- 왼쪽 플러그인 메뉴에서 + 버튼을 누른다.
- MCP 서버 이름과, 앞서 확인한 도메인 주소(MCP 서버 URL)를 입력한다.
- 만들기를 누르면 인증 절차가 시작된다.
- 터미널에서 안내되는 명령어를 실행하면 인증 키가 출력된다. 이 값을 복사해서 붙여넣고 승인한다.
- MCP 클라이언트로 돌아가기를 누르면 ChatGPT 화면으로 돌아오면서 연결이 완료된다.
- 권한 범위는 원하는 대로 설정한다 (영상에서는 “모든 액션 허용”으로 설정).
6단계: 실제로 써보기
연결한 MCP 서버 이름을 언급하면서 요청하면 된다.
동작 확인
“cokacremote로 시스템 정보 확인해줘.”
정상적으로 응답이 오면, ChatGPT가 실제로 내 PC 안의 Docker 컨테이너에서 명령을 실행할 수 있다는 뜻이다.
공유 폴더 안에 파일 만들어보기
컨테이너 쪽에서는 공유 폴더가 /shared 경로로 연결되어 있다. 설치 과정에서 자동으로 만들어지는 AGENTS.md 같은 안내 파일도 이 안에 들어있는데, 지금 환경이 어떤 구조이고 어떻게 작업해야 하는지가 적혀 있다.
코딩 에이전트는 보통 이런 안내 파일을 알아서 참고하지만, ChatGPT는 이 환경에서 자동으로 읽지는 않으므로, 작업을 시키기 전에 “먼저
/shared의 AGENTS.md를 읽어줘”라고 한 번 언급해주는 게 좋다.
”
/shared안에 폴더 하나 만들어줘”라고 요청해보면, 실제로 내 PC의 공유 폴더 안에 결과물이 생기는 걸 직접 확인할 수 있다.
최상위 경로 꾸며보기
기본 상태에서는 도메인 최상위 경로로 접속하면 Nginx 기본 페이지만 뜬다. “도메인 최상위 경로로 들어오면 멋진 문구가 나오는 페이지를 만들어줘”처럼 요청해서 원하는 대로 채워나갈 수 있다. 결과가 원하는 대로 안 나왔다면, Playwright 같은 브라우저 자동화 도구를 컨테이너에 설치해달라고 한 뒤 “이걸로 직접 확인하고 고쳐줘”라고 요청하면, ChatGPT가 스스로 페이지를 열어보고 수정까지 마친다.
이렇게 만든 결과는 로컬호스트가 아니라 인터넷 도메인으로 바로 접속해서 확인할 수 있다는 게 포인트다. 스마트폰 ChatGPT 앱으로 바이브 코딩을 시키고, 같은 폰으로 바로 결과물을 확인하는 것도 가능해진다.
데이터베이스가 필요한 서비스도 가능
”
/board경로로 접속하면 나오는 게시판을 만들어줘. 데이터는 MySQL을 쓰고, 프론트엔드는 OO 스택으로 해줘.”
이런 요청도 처리된다. MySQL 설치, 설정, 코드 빌드까지 모두 Docker 컨테이너 안에서 실시간으로 이뤄지고, 작성한 글 데이터는 컨테이너 안 MySQL에 저장된다.
폴더 변화를 실시간으로 반영하는 갤러리 만들기
공유 폴더 안에 이미지 폴더를 만들고 사진 몇 장을 넣어둔 뒤, “이 폴더의 사진을 갤러리 형태로 보여주는 페이지를 만들어줘. 폴더에 사진이 추가되면 바로 반영되게 해줘”라고 요청할 수 있다. 처음엔 새로고침해야 반영되는 문제가 있을 수 있는데, “실시간 반영이 안 된다”고 알려주면 다시 고쳐준다. 화면 캡처를 첨부해서 “여기가 이상해”라고 짚어주는 방식도 잘 통한다.
번외: Cloudflare 대신 Tailscale Funnel 쓰기
도메인을 사거나 네임서버를 옮기는 과정이 번거롭다면, Tailscale의 Funnel 기능으로 대체할 수 있다. Tailscale 계정만 있으면 되고, 도메인 구매 없이 기기이름.타일넷이름.ts.net 형태의 무료 HTTPS 주소가 바로 생긴다.

Tailscale은 원래 내 기기들끼리만 연결하는 사설 네트워크(VPN)다. 그 상태로는 ChatGPT 같은 외부 서비스가 들어올 수 없다. Funnel은 그 사설 네트워크 중 지정한 포트 하나만 인터넷에 공개로 열어주는 별도 기능이다 — 이 글에서 필요한 게 바로 이것이다.
준비물 (Cloudflare 방식 대신)
1. 내 컴퓨터에 Tailscale 설치
- Tailscale에서 내 OS용 앱을 받아 설치하고, 계정으로 로그인한다.
- 로그인이 끝나면 이 컴퓨터가 하나의 “노드”로 내 타일넷(tailnet)에 등록된다. Tailscale 관리 콘솔에서 이 기기 이름과 타일넷 이름을 확인해둔다 (예:
내맥북.tailxxxx.ts.net).
2. cokacremote Docker 컨테이너 준비
3단계까지는 앞서 Cloudflare 방식과 거의 같다. 다만 컨테이너 설정 파일을 채울 때 Cloudflare Tunnel Token 항목은 비워둔다 — Tailscale Funnel은 Cloudflare cloudflared 데몬을 쓰지 않고, 호스트에서 직접 포트를 공개하기 때문이다. MCP Public URL과 Shared Path는 그대로 채우되, MCP Public URL에는 아직 모르는 도메인 대신 임시로 localhost를 넣어뒀다가 3단계에서 실제 Funnel 주소로 나중에 바꿔도 된다.
컨테이너를 실행하면 앞서와 동일하게 컨테이너 안의 Nginx가 localhost:2999에서 요청을 기다린다.
3. Funnel로 포트 공개하기
터미널에서 다음 명령 하나만 실행하면 된다.
1
tailscale funnel 2999
몇 초 뒤 다음과 비슷한 안내가 나오면서 공개 HTTPS 주소가 발급된다.
1
2
3
4
5
6
Available on the internet:
https://내맥북.tailxxxx.ts.net/
|-- proxy http://127.0.0.1:2999
Press Ctrl+C to exit.
이 https://내맥북.tailxxxx.ts.net/ 주소가 곧 MCP 서버 URL이다. 터미널을 계속 열어둬야 Funnel이 유지되므로, 자꾸 쓸 거라면 tailscale funnel --bg 2999로 백그라운드에 띄워두는 게 편하다.
4. ChatGPT에 연결
5단계와 동일하게 ChatGPT 커넥터 설정으로 들어가서, MCP 서버 URL에 방금 발급받은 https://내맥북.tailxxxx.ts.net 주소를 입력하면 끝이다. 나머지 인증·사용 절차는 Cloudflare 방식과 완전히 같다.
Cloudflare Tunnel vs Tailscale Funnel
| Cloudflare Tunnel | Tailscale Funnel | |
|---|---|---|
| 도메인 | 필요 (직접 소유한 도메인) | 불필요 (*.ts.net 무료 제공) |
| 초기 설정 | 네임서버 이전 등 절차가 김 | 앱 설치 + 로그인 + 명령어 한 줄로 끝 |
| 커스텀 도메인 | 가능 | 불가 (ts.net 서브도메인 고정) |
| 상태 | 정식 서비스 | 베타 (포트 443/8443/10000만 지원, 대역폭 제한) |
| 이런 경우에 | 이미 도메인/Cloudflare가 있을 때, 오래 운영할 서비스 | 지금 당장 빨리 테스트해보고 싶을 때 |
정리
| 요소 | 1편(VPS) | 2편(내 PC) |
|---|---|---|
| 실행 위치 | 클라우드 VPS | 내 PC 안 Docker 컨테이너 |
| 노출 범위 | 서버 전체 (관리 주체가 나뿐인 서버) | 컨테이너 + 지정한 공유 폴더 하나만 |
| 네트워크 | 직접 HTTPS/Nginx 구성 | Cloudflare Tunnel (포트 개방 불필요) |
| 적합한 경우 | 이미 VPS를 쓰고 있거나 별도 서버를 두고 싶을 때 | 별도 서버 없이 내 PC로 바로 시작하고 싶을 때 |
두 방식 모두 핵심은 같다. cokacremote가 코딩 에이전트에게 필요한 기능(파일 읽기/쓰기, 명령 실행, 프로세스 제어 등)을 MCP 도구로 제공하고, ChatGPT가 그 도구를 사용하면서 마치 코딩 에이전트처럼 코드를 작성 → 실행 → 확인 → 수정하는 사이클을 돌린다는 점이다. 다만 내 PC를 직접 쓰는 만큼, Docker 컨테이너로 격리하고 공유 폴더를 최소한으로 제한하는 안전장치는 꼭 챙기자.
// reading compass
이 글과 이어지는 경로
시리즈, 카테고리, 태그 겹침, 최신도를 점수화해 가까운 글일수록 중심에 배치합니다.
댓글남기기