Tailscale, Flask, SSH로 집 밖에서도 사무실 조명을 켜보세요!
by DD
4개월 전
조회수 6
Home Assistant를 실행하는 Raspberry Pi를 외부에서 접근하기 위해 Tailscale을 활용함
DigitalOcean Droplet에 Flask 기반의 웹훅을 구축하여 외부 요청을 처리함
SSH를 통해 Raspberry Pi의 조명을 제어하고, Claude Code를 사용하여 자동화함
Tailscale VPN을 활용한 안전한 접근
Tailscale은 WireGuard 기반의 VPN을 구축하여, 공인 IP 없이도 안전하게 내부 네트워크에 접근할 수 있도록 한다. 따라서 포트 포워딩 없이 Raspberry Pi에 접속하여 Home Assistant를 제어할 수 있다. DigitalOcean Droplet을 중계 서버로 활용하여 외부 접근을 가능하게 한다.
Flask 웹훅과 SSH를 이용한 조명 제어
외부에서 들어온 요청은 Flask 웹훅을 통해 처리되며, SSH를 사용하여 Raspberry Pi에 접속하여 조명 제어 스크립트를 실행한다. 구체적으로, SSH 키 기반 인증을 통해 보안을 강화하고, Bash 스크립트를 통해 조명의 상태를 저장하고 복원한다. JSON 형식의 토큰 기반 인증을 통해 접근 권한을 관리한다.
Claude Code를 활용한 개발 생산성 향상
저자는 Claude Code를 사용하여 SSH 설정, Bash 스크립트 작성, Flask 웹훅 구현 등 다양한 작업을 자동화했다. 따라서, 개발 시간을 단축하고, 복잡한 설정을 쉽게 처리할 수 있었다. Nginx를 사용하여 요청을 라우팅하고, systemd 서비스를 통해 안정성을 확보했다.