AI로 일하기

맥미니 홈서버 구축 — 잠들어도 일은 돌아가게 만든 이야기 🖥️

생각에 잠긴 초록이 아빠

아침에 일어나면 정리된 결과물이 먼저 와 있을 때가 있습니다. 맥미니 홈서버를 구축해 둔 뒤로 생긴 일이에요.

그런데 그 시각, 제 맥북은 가방 안에서 그냥 자고 있었어요.

그럼 밤새 누가 일한 걸까요.

답은 거실 구석에 있는 맥미니입니다. 24시간 켜 두는 홈서버로 구축해 뒀고, 지금은 이 녀석이 제 자동화의 본체예요.

왜 맥미니 홈서버를 따로 세웠나

앞선 글에서 잠깐 얘기했지만, 요즘 저는 평일엔 서울, 주말엔 부산을 오갑니다.

문제는 그 사이에도 자동화는 계속 돌아야 한다는 점이었어요. 아침 브리핑 봇도, 데이터 정리 루틴도, 다 정해진 시간에 실행되니까요.

맥북을 들고 다니면 매번 “노트북 열려 있나, 재웠나”부터 걱정해야 했습니다. 그래서 아예 안 들고 다니는 기계 하나를 24시간 켜두기로 했어요.

실제로 한 일

맥 한 대를 24시간 서버로 — 전체 구조도

핵심은 세 가지였습니다.

① 어디서든 접속 — Tailscale로 맥미니에 사설망을 깔고, iPhone·맥북 어디서든 SSH로 붙을 수 있게 했습니다.

② 세션 유지 — tmux로 터미널 세션을 살려둬서, 접속을 끊었다 다시 붙어도 하던 작업이 그대로 이어집니다.

③ 예약 실행 이전 — 맥북에서 돌던 launchd 예약 작업 아홉 개를 맥미니로 통째로 옮겼습니다.

말은 세 줄이지만, 실제로는 하루 넘게 걸린 작업이었어요.

옮기다가 걸린 것들

삽질에 멘붕한 초록이 아빠

가장 크게 걸린 건 경로였습니다. 맥북 계정명과 맥미니 계정명이 달라서, 스크립트 안에 박혀 있던 절대 경로를 하나하나 다시 찾아 고쳐야 했어요.

파이썬 가상환경도 그대로 안 옮겨졌습니다. 맥북과 맥미니의 파이썬 버전이 달라서, 결국 각 작업 폴더마다 가상환경을 새로 만들었습니다.

그리고 제일 아찔했던 건, 맥미니에서 검증도 끝내기 전에 맥북 쪽 예약 작업을 미리 꺼버릴 뻔한 순간이었어요. 순서를 반대로 했다면 같은 작업이 두 기계에서 동시에 돌아서, 텔레그램 알림이 두 번씩 오고 결과 파일도 중복될 뻔했습니다.

지금은 이렇게 됐다

이전과 후를 비교하면 이렇습니다.

이전: 맥북을 들고 이동할 때마다 예약 작업이 끊기지 않을지 신경 썼고, 화면을 열어둬야 마음이 놓였습니다.

이후: 맥미니는 거실에 그대로 두고, 저는 몸만 서울과 부산을 오갑니다. 아침에 확인하면 결과가 이미 와 있어요.

디스플레이는 꺼놔도 되고, 재부팅이 돼도 자동으로 로그인해서 다시 돌아갑니다. 신경 쓸 일이 하나 줄었어요.

프롬프트로 따라 하기

여기부터는 같은 걸 해보려는 분을 위한 순서입니다. 그런데 명령어를 외우실 필요는 없어요.

저도 이걸 다 알고 시작한 게 아닙니다. 개념만 잡고 나머지는 AI에 시켰습니다. 그래서 제가 쓴 명령어 대신, 제가 AI에 던진 프롬프트를 그대로 드릴게요. 복사해서 붙여넣으시면 됩니다.

터미널을 다룰 수 있는 AI 도구 하나면 됩니다. 저는 Claude Code를 썼어요.

1. 두 기계를 같은 사설망에 묶기

집 밖에서 집에 있는 기계에 접속하려면 보통 공유기 설정을 건드려야 합니다. 번거롭고 보안도 신경 쓰이죠. Tailscale은 그걸 건너뛰고 내 기기끼리만 통하는 가상 네트워크를 만들어 줍니다. 집 인터넷 주소가 바뀌어도 상관없어요.

프롬프트 — 복사해서 AI에 붙여넣으세요

너는 macOS 터미널 작업을 돕는 조수야.
목표: 이 맥을 Tailscale에 연결해서 다른 내 기기에서 접속할 수 있게 하는 것.

- 설치부터 로그인, 이 기계의 Tailscale IP 확인까지 순서대로 안내해줘.
- 각 명령을 실행하기 전에 무슨 일을 하는 명령인지 한 줄로 설명하고, 내 확인을 받고 진행해.
- 되돌리기 어려운 작업은 먼저 경고해줘.
- 나는 터미널이 익숙하지 않아. 화면에 뭐가 뜨면 다음으로 넘어가도 되는지도 알려줘.

이렇게 되면 성공 — 100. 으로 시작하는 주소가 하나 나옵니다. 이게 이 기계의 고정 주소예요. 적어두세요.

막히면 — 설치 중 비밀번호를 묻습니다. 네트워크 설정을 건드리기 때문인데, 이것 때문에 백그라운드 설치가 안 됩니다. "터미널에서 직접 실행해야 하는데 지금 막혔어" 라고 되물으면 됩니다.

2. 밖에서 명령을 보낼 수 있게 열기

네트워크로 묶였다고 바로 조종할 수 있는 건 아닙니다. 원격 로그인(SSH) 을 따로 켜야 해요.

프롬프트

목표: 이 맥에 다른 기기에서 SSH로 접속할 수 있게 하는 것.

- 원격 로그인을 켜는 방법을 알려줘. GUI 설정 경로면 경로로 알려줘.
- 켠 뒤에 다른 기기에서 접속되는지 확인하는 방법도 알려줘.
- 접속할 때마다 비밀번호를 안 치도록 키를 등록하는 방법도 이어서 알려줘.
- 보안상 주의할 점이 있으면 먼저 말해줘.

이렇게 되면 성공 — 다른 기기에서 접속했을 때 그 기계의 터미널 프롬프트가 뜹니다.

3. 접속이 끊겨도 작업이 살아 있게

여기가 제일 중요합니다. SSH는 연결이 끊기면 돌리던 작업도 같이 죽습니다. 지하철에서 와이파이가 바뀌기만 해도요. 몇 시간짜리 작업을 걸어놨는데 이동하다 날리면 아깝죠.

tmux는 그 사이에 작업을 붙잡아 둡니다. 접속을 끊었다 다시 붙어도 하던 화면이 그대로 나와요.

프롬프트

목표: 이 맥에 tmux를 설치하고, 접속을 끊어도 세션이 살아남게 설정하는 것.

- 설치하고, 아무도 접속해 있지 않아도 세션이 유지되도록 설정 파일을 만들어줘.
  (이 설정이 빠지면 나중에 세션이 사라진다고 들었어)
- 마우스 스크롤이 되게 하고, 스크롤 기록도 넉넉히 잡아줘.
- 설정이 끝나면 내가 실제로 쓸 명령 3개만 정리해줘: 새로 시작 / 빠져나오기 / 다시 붙기

이렇게 되면 성공 — 세션을 만들고 빠져나온 뒤 tmux ls 에 그 세션이 남아 있으면 됩니다.

폰에서 SSH로 붙어 tmux 세션에 다시 들어간 화면

폰에서 붙었을 때 이렇게 보입니다. 어젯밤 걸어둔 작업이 그대로 이어져요.

4. 예약 작업 옮기기

맥은 launchd 라는 게 예약 실행을 맡습니다. 여기가 실제로 제일 오래 걸린 부분이었어요.

프롬프트

목표: 다른 맥에서 돌던 예약 작업을 이 기계로 옮기는 것.

먼저 물어봐줘: 옮길 작업이 몇 개고, 각각 뭘 하는지.
그다음 한 개씩 진행하자. 한 번에 다 옮기지 마.

작업 하나마다 이 순서를 지켜줘:
1. 설정 파일을 이 기계에 맞게 고친다 (계정명·경로가 달라졌을 수 있어)
2. 예약 시간까지 기다리지 말고 지금 한 번 강제로 실행해서 결과를 확인한다
3. 결과가 정상이면 다음 작업으로

⚠️ 예전 기계 쪽 작업을 끄는 건 전부 검증이 끝난 다음이야. 지금은 끄지 마.

이렇게 되면 성공 — 강제 실행했을 때 예전 기계에서와 같은 결과가 나옵니다.

마지막 줄을 꼭 넣으세요. 두 기계에서 같은 작업이 동시에 돌면 알림이 두 번 오고 결과 파일이 중복됩니다. 제가 실제로 그럴 뻔했어요.

5. 사람 없이도 살아 있게

재부팅됐을 때 로그인 화면에서 멈춰 있으면 서버가 아니죠. 정전 한 번에 전부 멈춥니다.

프롬프트

목표: 이 맥을 사람 손 없이 돌아가는 서버처럼 만드는 것.

- 재부팅돼도 자동으로 로그인되게 설정하는 방법
- 디스플레이를 꺼도 잠자기로 들어가지 않게 하는 방법
두 가지를 알려줘. 각각 보안상 감수하는 게 뭔지도 같이 말해줘.

이 둘을 안 해두면 재부팅 한 번에 예약 작업이 통째로 멈춥니다.

다시 한다면 이 순서로

같은 걸 하려는 분이 있다면, 이 순서를 추천합니다.

  1. 원격 접속(Tailscale·SSH)부터 확실히 잡기 — 이게 안 되면 이후 작업이 다 막힙니다.
  2. 예약 작업은 하나씩 옮기고, 새 기계에서 수동 실행으로 결과부터 확인하기.
  3. 비밀번호·인증키 같은 파일은 자동 동기화에 맡기지 말고 손으로 옮기기.
  4. 새 기계에서 전부 검증한 다음에야 예전 기계 쪽 예약 작업을 끄기. 순서를 바꾸면 중복 실행이 납니다.

이 정도만 지키면, 나머지는 생각보다 단순합니다.

결국 남는 건

서버 한 대 세운다고 제가 갑자기 편해지는 건 아니에요.

다만 신경 쓸 곳이 하나 줄면, 그만큼 다른 데 마음을 쓸 여유가 생깁니다. 저한테는 그게 초록이와 보내는 시간이고요.

뿌듯해하는 초록이 아빠

오늘도 거실 구석에서, 맥미니는 조용히 돌아가고 있습니다. 🐴

이 글은 산업 구조와 만드는 과정을 정리한 개인 기록입니다.
특정 종목의 매수·매도 추천이 아니며, 투자 판단과 그 결과는 독자 본인에게 있습니다.

← 글 목록으로