[홈 서버 구축기 0탄] 미니 PC로 나만의 홈 서버 만들기 (미니PC 구입 및 도메인 설정)
jay
2025년 12월 3일 13:42
아직은 주니어 개발자이고, 개인적으로 프로젝트를 진행할 때 사용되는 클라우드 비용은 솔직히 부담스러웠다.
그래서 편하게 마음껏 사용하기 좋은 미니PC를 하나 구입하고, 24시간 돌려서, 호스팅 비용 ‘0 원’으로 나만의 홈 서버를 구축하기로 했다.
목차
1. 왜 미니PC를 구축하는 것인가?
클라우드가 아닌 물리적인 서버를 두는 데에는 여러 가지 이유가 있었다.
이유 1. 비용 부담
클라우드에서 비용을 산정하는 것은 큰 시간을 소요하게 된다.
또한 할인을 위해서 약정을 걸게 되면 (1년 약정, 3년 약정 등) 그 만큼 싸지게 되나, 내가 바빠서 몇 달을 쉰다고 하더라고 비용은 계속 나가기 때문에 부담이 있다.
그래서, 일회성으로 비용을 지출하는 미니피씨를 구입하기로 했다.
이유 2. 인프라 공부
입사 초기에 네이버 클라우드 플랫폼에서 서버 설정, 방화벽 설정, LB 설정 등 사수의 도움과 함께 모든 과정에 대해서 직접 구축을 했었다.
시간이 지남에 따라 기억이 희석되기도 하고, 도메인 연결부터, 리버스 프록시, SSL, 네트워크 보안까지 모든 것들을 다시 복기하며 구축하고 나의 서버에 접속하는 모든 기록에 대해서 자유롭게 분석하고 싶어서이다.
이유 3. NAS 및 AI 파이프라인
이것은 나중에 미니PC를 사고나서 무엇을 할까 고민하면서 생각을 하게 되었었는데, (아마 자기합리화일 수도 있다.) 놀고 있는 외장 하드가 있기도 하고, 카메라 화질이 좋아짐에 따라 올라가는 사진의 용량.. Windows, Mac 등 여러 플랫폼에서 사용가능한 NAS를 구축하고 싶다는 생각이 들기 시작했다.
또한, 내년부터는 AI 대학원에 진학할 것이기 때문에 MLFlow 등 내 학습 과정에 대한 기록 및 AI 파이프라인 구축을 내 서버에서 진행하고 싶어서이다.
나는 Machine Learning Engineer라면 모델만 개발하는 것인가 했는데, 최근 JP Morgan의 채용공고를 보고, MLOps까지의 역량을 필요로 한다는 부분에서 조금 놀라게 되었고, 이것저것 여러 환경에서의 경험을 쌓고 싶어졌었다.
2. 미니PC 스펙
생각보다 미니PC들의 가격이 싸지는 않아서 거의 1달 동안은 계속 검색만 했던 것 같다.가격 부담은 좀 있어도 비싸게 사야하나 싶었는데, 운 좋게 아래의 미니PC를 구매할 수 있게 되었다. (현재는 품절..)

스펙은 아래와 같고, 인텔의 N100과 비교해보았다.
| 기능 | Intel N100 | AMD Ryzen 5 6600H |
|---|---|---|
| 코어/쓰레드 | 4코어 4쓰레드 (효율 코어만 존재) | 6코어 12쓰레드 (고성능 코어) |
| CPU 성능점수 | PassMark 약 5,300점 | PassMark 약 18,500점 (3.5배 빠름) |
| 내장 그래픽 | Intel UHD Graphics (24 EUs) | Radeon 660M (RDNA2) |
| 기본 전력(TDP) | 6W (초저전력) | 45W (고성능) |
| 냉각 방식 | 팬리스(무소음) 모델 많음 | 팬 쿨러 필수 (소음 있음) |
Windows 11이 깔려있으나, 지우고 Ubuntu를 설치하였고, 메모리도 최대 64기가까지 확장성이 있어서 바로 구매하였다.
Mac Mini도 고민하였으나, 비용 이슈도 있고 램 업그레이드나, 저장소 업그레이드에 제약이 있을 것 같아 패스하였다.
3. 아키텍처 구조
기본적으로 Nginx + Docker의 구조로 가져갔다.
외부에는 Nginx만 노출이 되고, 나머지 컨테이너들은 내부망에서만 통신되도록 하여 보안을 강화하였다.
- [Gateway] Nginx (Host):
- 외부에서 들어오는 유일한 통로(Port 80, 443).
- 도메인이나 경로에 따라 요청을 적절한 컨테이너로 토스한다.
- 예:
jay-gemini.com→ 워드프레스 등
- [Apps] Docker Containers:
- 모든 애플리케이션은 Docker 컨테이너로 격리된다.
- WordPress (Blog): Vite 기반 프론트엔드를 위한 백엔드 역할. (SEO 이슈로 인한 Next Js로 변경..)
- Jenkins (CI/CD): 코드 배포 자동화 담당.
- MLflow & Grafana (Dev Tools): 향후 데이터 시각화 및 ML 실험 관리를 위해 추가될 컨테이너들.
4. 도메인 설정
도메인은 Gabia에서 구매를 하였다.
해당 블로그의 URL이기도 한 jay-gemini.com 을 구매하였고, 1년 기준으로 1 만원 조금 넘었던 것 같다.
5. 앞으로의 로드맵
- 1탄: 외부 접속을 위한 네트워크 설정(DDNS, 포트포워딩)과 Nginx/Docker 기초 공사.
- 2탄: WordPress(Headless)와 Vite 앱 통합, 그리고 Jenkins를 이용한 자동 배포 파이프라인.
- 3탄: 검색 엔진 노출을 위한 Next Js로의 전환 및 Google Search Console에 적용
You might also like
Comments (0)
Leave a Reply
Or login to comment with your account.
No comments yet. Be the first to share your thoughts!