2026 OpenClaw 대여 Mac Mini 실전
Postmark Inbound Webhook으로 메일 트리거 야간 배치·침묵 창·백오프 알림까지 재현
메일로 자동화를 묶는 독립 개발자에게 Postmark Inbound는 수신함을 Webhook으로 바꿉니다. 노트북은 잠들고 서버리스는 MIME·첨부 처리에 비싸니, Mac Mini 대여 같은 장기 온라인 노드에 TLS 종단·경로 시크릿·디스크 큐·launchd 야간 창을 두면 OpenClaw가 큐를 비우고, 실패 알림만 백오프 재시도로 올리기 쉽습니다. HTTP 계열 트리거는 repository_dispatch 야간 체인·다중 OPENCLAW_HOME·포트 격리 글과 나란히 두면 경계가 선명합니다. 크론·헬스 패턴은 크론·웹훅 백오프를 참고하세요. 공개 구매(gumae) 페이지는 로그인 없이 플랜을 고를 수 있습니다.
왜 맥 미니인가. Postmark는 비200 응답이나 느린 핸들러에 재시도를 걸어 동일 MessageID가 연달아 보일 수 있습니다. 엔드포인트가 24시간 깨어 있고 NVMe에 큐를 쌓아야 “빠른 200 + 느린 실제 작업” 패턴이 안전합니다. 이것이 칠곱이십사 대여의 실무 가치입니다.
Inbound 라우팅과 인증
Postmark 콘솔에서 Inbound 스트림을 만들고 안내하는 MX·리라이트 DNS를 끝까지 맞춥니다. Webhook URL은 https://호스트/inbound/<긴-시크릿>처럼 경로에 비밀을 넣고, Caddy·nginx 등으로 TLS를 맥에서 종료하세요. JSON을 파싱하기 전에 경로 토큰이 틀리면 401으로 끊으면 스캐너가 쓰레기 큐를 쌓기 어렵습니다.
MessageID는 Postmark 재시도와 멱등의 중심입니다. SQLite·LMDB 등에 48시간 TTL로 넣고, 테넌트마다 시크릿·launchd 라벨을 나누면 OpenClaw 상태 트리(OPENCLAW_HOME)가 서로 덮어쓰지 않습니다.
게이트웨이 스크립트 템플릿
핸들러는 “검증 → dedupe → 디스크 큐 원자 쓰기 → 즉시 200” 순서가 핵심입니다. 무거운 파싱·OpenClaw 호출은 launchd 배치가 뒤에서 읽게 하세요.
// Node 스타일 의사코드
app.post('/inbound/:token', (req, res) => {
if (req.params.token !== process.env.INBOUND_TOKEN) return res.sendStatus(401);
const id = req.body.MessageID;
if (!dedupe.insertIfNew(id)) return res.sendStatus(200); // Postmark 재시도
fs.writeFileSync(`queue/in-${Date.now()}.json`, JSON.stringify(req.body), { flag: 'wx' });
return res.sendStatus(200);
});
실서비스에서는 rawBody 검증·요청 크기 상한을 추가하고, 큐 디렉터리는 백업 대상에 넣으세요.
야간 창과 오류 병합
StartCalendarInterval로 호스트 현지 01:00–05:00 등 침묵 창에만 queue/*.json을 비웁니다. 제목에 신뢰된 오버라이드 토큰이 있을 때만 창 밖 실행을 허용하는 식으로 정책을 고정하세요. 파서·업로드 오류는 tenant + segment 버킷으로 모아 창마다 digest 한 통만 슬랙·메일로 쏩니다.
알림 게이트웨이가 429·5xx를 내면 지수 백오프에 20% 지터, 시도 상한(예: 5회)·최대 간격(예: 60초)을 걸고, 계획 종료 시각 뒤 15분 quiet tail을 두면 업로드 잔광으로 인한 페이징 플래핑을 줄입니다.
재현 단계
- Inbound DNS 스모크 테스트로 스트림에 Received가 찍히는지 확인합니다.
- 맥에서 TLS를 켠 뒤 시크릿 없는 URL로
curl시 401이 나오는지 먼저 검증합니다. - 게이트웨이를 배포하고 동일 JSON을 두 번 POST해 두 번째가 200 멱등인지 확인합니다.
TextBody를 잡 입력으로 매핑한 OpenClaw·야간 plist를launchctl bootstrap하고log show로 창 안 실행을 봅니다.- digest·백오프를 켠 뒤 장기 노드에 로그 롤링·야간 아카이브를 걸고 운영으로 전환합니다.
흔한 DNS·SPF 오해 FAQ
- Inbound 전용 서브도메인에 루트 SPF를 복사하면 수신이 좋아지나요?
- 아니요. SPF는 발신 주장을 위한 레코드이고 Inbound는 MX·라우팅이 본체입니다. 잘못 복사하면 오히려 정상 발신이 깨집니다.
- DKIM 서명만 검증하면 Webhook JSON을 믿어도 되나요?
- MIME 무결성과 HTTPS 엔드포인트 인증은 별개입니다. 경로 시크릿·공식 서명 검증을 함께 쓰세요.
- 배포 직후 로그에 같은 MessageID가 연속으로 보여요.
- 느린 핸들러나 dedupe DB 초기화가 흔한 원인입니다. 핸들러 2초 안에 디스크에 넘기고 dedupe TTL을 재시도 창보다 길게 유지하세요.
정리. Postmark Inbound는 메일을 정중한 Webhook으로 바꿉니다. 그걸 받는 쪽이 Mac Mini 대여 같은 장기 온라인 노드일 때 TLS·인증·큐·야간 창·백오프 재시도가 한 줄로 이어져 OpenClaw 운영이 덜 고통스럽습니다. 준비가 되면 공개 구매 페이지에서 코어·NVMe를 고르고, 가격과 큐 깊이를 맞춘 뒤 고객센터로 SSH·헬스 체크를 확인한 다음 트래픽을 전환하세요.