Muse에게 시킨 홈서버 작업 사례 모음
지난 글에서 AI가 제 집 서버(mint)에 어떻게 접속하는지 원리를 정리했는데요. 이번에는 그동안 실제로 시킨 작업들을 사례별로 모아 봤습니다. 전부 대화로 말했을 뿐, 제가 직접 한 건 도메인 구입이나 비밀번호 입력 같은 승인 단계뿐이었습니다.
사례 1. 개발 환경 세팅
"서버에 파이썬 개발 환경 만들어 줘." Python과 pip, venv, git이 설치되고, 가상환경을 만들어 패키지 설치까지 되는지 검증한 결과를 받았습니다. 서버에 뭔가를 올릴 준비는 이걸로 끝이었습니다.
사례 2. 어휘 퀴즈 웹앱 배포
영검 준1급 어휘 200제 퀴즈 앱을 서버에 올려 달라고 했습니다. 파일이 서버로 복사되고 웹 서버가 실행됐고, 집 안 네트워크와 Tailscale 양쪽에서 접속되는 것까지 확인해 줬습니다. 이때만 해도 주소는 내부용이었습니다.
사례 3. 도메인 사서 외부 공개
임시 주소가 아니라 제대로 된 도메인으로 열고 싶었습니다. 도메인 후보와 가격(첫해 가격만이 아니라 갱신 가격까지)을 비교해 보고, 저는 amuse.ing을 직접 구입했습니다. 이후 Cloudflare 터널 연결과 DNS 설정은 AI가 맡아서, 퀴즈가 quiz.amuse.ing으로 열리게 됐습니다.
사례 4. Docker와 프록시 매니저 도입
서비스가 늘어나기 시작해서 Docker를 설치하고 Nginx Proxy Manager를 올렸습니다. 이후로는 새 서비스를 붙일 때 "터널 → 프록시 → 컨테이너"라는 일정한 패턴이 생겼습니다. 관리자 계정 생성처럼 비밀번호가 필요한 단계는 제가 직접 했습니다.
사례 5. 대문 홈페이지 만들기
도메인만 있고 대문이 없으니 허전해서, 모아둔 서비스를 카드 형태로 보여 주는 랜딩 페이지를 만들어 달라고 했습니다. amuse.ing에 접속하면 퀴즈와 가이드로 이동할 수 있는 페이지가 Docker 컨테이너로 배포됐습니다.
사례 6. 링크가 아니라 페이지를 직접 호스팅
EmbeddingGemma 2 가이드 글을 홈페이지에 링크로 걸어 뒀는데, "링크 말고 웹페이지 자체를 서버에 올려 줘"라고 다시 시켰습니다. 글 원본을 컨테이너로 패키징하고 프록시를 거쳐 gemma.amuse.ing이라는 자기 주소로 서빙하게 됐고, 홈페이지 카드도 이 주소로 교체됐습니다.
사례 7. 재부팅돼도 스스로 살아나게
어느 날 아침 서버가 재부팅되면서 수동으로 켜 뒀던 터널과 웹 서버가 다 내려간 적이 있습니다. "터널 자동 실행되도록 설정해 줘"라고 했더니, 두 프로세스가 systemd 서비스로 등록돼서 이제는 재부팅해도 부팅과 함께 알아서 올라옵니다. 덤으로 Docker 명령을 sudo 없이 쓰는 설정도 확인받았습니다.
사례 8. Docker 관리를 웹으로
컨테이너가 다섯 개 가까이 되니 터미널만으로는 번거로워졌습니다. 웹에서 Docker를 관리하는 도구 몇 가지를 비교해 보고 Arcane을 골라 설치했습니다. 이제 컨테이너 상태 확인과 재시작, 로그 보기는 브라우저에서 합니다. 단, 서버 전체 권한과 맞먹는 도구라 공개는 하지 않고 내부 네트워크에서만 열리게 뒀습니다.
사례 9. 이 블로그의 회원 가입 끄기
지금 보고 계신 이 블로그(Ghost)도 같은 서버에 있습니다. 회원 가입은 받지 않을 생각이라 "가입 기능 중지해 줘"라고 했고, 현재 가입 설정을 확인한 뒤 가입을 받지 않도록 바꾸고, 실제로 가입 화면이 열리지 않는 것까지 검증해 줬습니다.
정리해 보니
공통 패턴이 보입니다. 시키는 건 말로 하고, 결과는 눈으로 확인합니다. 작업 과정은 서버에 문서와 명령 기록으로 남으니 나중에 "그때 뭘 어떻게 했더라"를 되짚을 수도 있고요. 구입, 결제, 비밀번호처럼 책임이 따르는 단계는 여전히 제 몫입니다. 그 경계만 지키면, 집 서버 운영은 생각보다 가벼운 일이 됐습니다.