> ## Content Index
> Fetch the complete content index at: https://blog.amuse.ing/llms.txt
> Use this file to discover other available public pages before exploring further.

# Hark에게 집 서버 일 시키는 법
- URL: https://blog.amuse.ing/hark-home-server/
- Published: 2026-10-10T03:03:50.000Z
- Updated: 2026-10-10T03:03:50.000Z
- Author: junsu
- Tags: AI, Hark

지난 글에서 이 블로그를 Hark가 만들어 줬다고 썼는데요. 그 뒤로 "그래서 대체 어떻게 AI가 집에 있는 서버를 만지는 거냐"는 질문을 몇 번 받았습니다. 저도 처음엔 반신반의했으니까, 실제로 해 본 순서대로 정리해 보겠습니다.

## 먼저, 무슨 원리인가

Hark는 클라우드에 자기만의 작은 리눅스 컴퓨터(샌드박스)를 갖고 있습니다. 여기서 셸 명령을 실행할 수 있죠. 문제는 제 서버가 집 안 네트워크에 있다는 것. 밖에서 바로 들어올 길이 없습니다.

그래서 **Tailscale**을 다리로 씁니다. 제 서버와 Hark의 샌드박스를 같은 Tailscale 네트워크(tailnet)에 넣으면, 둘이 마치 같은 공유기에 물린 것처럼 서로 보입니다. 포트를 열거나 공유기 설정을 건드릴 필요가 없어서 마음이 편했습니다.

## 1\. 서버에 Tailscale 설치

서버(저는 Linux Mint를 쓰는 `mint`라는 머신)에서 한 번만 해 두면 됩니다.

```
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up --ssh
```

터미널에 로그인 주소가 나오면 브라우저로 열어서 로그인합니다. 포인트는 `--ssh`예요. 이걸 켜 두면 SSH 키나 비밀번호를 따로 주고받지 않아도 Tailscale 계정 인증만으로 SSH 접속이 됩니다. 이미 설치돼 있다면 `sudo tailscale set --ssh` 한 줄이면 됩니다.

처음엔 비밀번호로 붙이려고 했는데, 비밀번호를 대화창에 쓰는 건 찜찜하고 셸에 넘기는 것도 번거로웠습니다. Tailscale SSH로 바꾸고 나서 이 문제가 깔끔하게 사라졌어요.

## 2\. Hark를 tailnet에 초대하기

이건 제가 할 일이 거의 없습니다. Hark에게 "내 서버에 접속해 줘"라고 하면, Hark가 자기 샌드박스에 Tailscale을 띄우고 로그인 링크를 하나 보내 줍니다. 그 링크를 눌러 제 Tailscale 계정으로 승인하면 끝. 제 기기 목록에 `hark-sandbox`라는 새 기기가 하나 생깁니다.

한 가지 알아 둘 점: Hark의 샌드박스는 가끔 새로 시작되는데, 그러면 연결이 끊겨서 다시 로그인 링크를 눌러 줘야 합니다. 귀찮다면 귀찮지만, 반대로 생각하면 제가 승인하지 않는 한 아무도 못 들어온다는 뜻이라 오히려 안심이 됩니다.

## 3\. 이제 그냥 말로 시키기

여기서부터가 재밌는 부분입니다. 명령어를 몰라도 되고, 하고 싶은 걸 그냥 말하면 됩니다. 제가 실제로 시킨 것들:

- "서버 상태 좀 봐 줘" → 디스크, 메모리, 돌고 있는 Docker 컨테이너, 열린 포트까지 정리해서 알려 줌
- "개인 블로그 만들고 싶어" → Ghost + MySQL을 Docker Compose로 띄우고, 이미 쓰던 Cloudflare 터널에 `blog.amuse.ing`을 연결
- "블로그 글 올리면 Threads에도 자동으로 올려 줘" → Ghost API로 새 글을 확인하고 Threads API로 게시하는 스크립트를 짜서 cron에 5분 간격으로 등록
- "이 내용으로 블로그에 글 써 줘" → 바로 이 글입니다

Hark는 작업할 때 제 홈 디렉터리 아래 `~/hark` 폴더를 작업 공간으로 씁니다. 뭘 만들었는지 한곳에 모여 있어서 나중에 확인하기 편해요.

## 4\. 내가 직접 해야 하는 일

전부 알아서 해 주면 좋겠지만, 사람이 해야 하는 부분이 분명히 있습니다.

- **로그인과 승인:** Tailscale 로그인, 외부 서비스 계정 연결 같은 건 제가 직접 눌러야 합니다.
- **토큰 발급:** Threads 연동 때 Meta 개발자 페이지에서 토큰을 만드는 건 결국 제가 했습니다. Facebook 2단계 인증이 Hark의 브라우저를 계속 튕겨 냈거든요. 대신 Hark가 어디서 뭘 눌러야 하는지 정리해 줬고, 토큰은 서버에서 `set_token.sh`를 실행해 화면에 안 보이게 저장했습니다.
- **공개되는 일의 최종 확인:** 글 발행처럼 남들이 보는 일은 Hark가 초안까지만 만들고 저한테 확인을 받습니다.

## 5\. 써 보고 느낀 점

제일 좋은 건 "어떻게"를 몰라도 된다는 겁니다. 예전 같으면 Ghost 설치 문서 읽고, Compose 파일 고치고, 터널 설정 찾아보느라 주말 하루가 갔을 텐데, 지금은 원하는 결과만 말하면 됩니다. 그러면서도 무엇을 실행했는지 서버에 다 남아 있으니 블랙박스 같은 느낌도 덜하고요.

물론 서버 권한을 AI에게 주는 거니까 조심은 해야 합니다. 저는 Tailscale에서 접근을 제가 승인하는 구조로 두고, 지우거나 공개하는 작업은 꼭 한 번 물어보게 해 두었습니다. 이 정도면 집 서버를 맡겨 볼 만하다는 게 지금까지의 결론입니다.

다음엔 이 서버를 매주 자동으로 점검하게 해 볼 생각입니다. 해 보고 또 적을게요.