21년도 기존에 다니던 회사를 그만두게 되면서, 그동안 회사에서 했던 일들을 되새기고, 그때 못했던 작업들을 해보고자 홈서버 구입을 결정했었습니다. 당시에 프로덕트를 만들고자 혼자서 백엔드에 인프라까지 하다보니, 중요하지 않는건 돌아가게만 해놓다보니 생긴 기술부채들 때문에 한건 많았어도 내실은 형편 없었거든요.
거기에 원래는 백엔드 개발자였는데 인프라쪽은 배우거나 레퍼런스를 얻을 기회가 전무했다보니, 기존에 회사에서 인프라 담당으로 사내서비스(gitlab, keycloak) 및 kubernetes 담당했던 부분들을 다시 처음부터 구축하면서 트러블슈팅을 해보자는 마음이었습니다.
사실 홈서버 구축이 이번이 처음은 아니었습니다. 예전 회사에서 팀장님이 쓰시던 MiniPC 를 중고로 구매하여 리눅스 서버를 구축했었는데, 아무래도 MiniPC 스펙이다보니 CPU 는 셀러론 J 시리즈에 RAM은 2기가… 유튜브에서 셀프 업그레이드 영상을 찾아 메모리 업그레이드를 해줬음에도 보드 한계상 8기가가 끝. 여러가지를 해볼 수 있는 스펙은 아니었습니다. gitlab만 올려도 뻗어버리는…
그래서 이번에 구매할 서버는 이전의 경험을 기회삼아 최대한 고성능(?), 나아가 스펙을 제 취향껏 바꿀 수 있는 모델을 찾고자 했습니다.
결국 ASRock DeskMini A300 중 Silent (회사 라인업같지는 않고, 판매점에서 NOCTUA 쿨러를 끼워서 silent 라고 이름붙여서 파는게 아니었을까 합니다) 모델에 RAM 과 Storage 는 직접 구매해서 조립해주는걸로 결정했습니다.
MODEL: ASRock DeskiMini A300 RAM: 32GB SSD: 500GB OS: Ubuntu 비용: 약 70만원(이 부분은 기억이 가물가물해서… 혹시라도 내역을 찾게되면 업데이트 하겠습니다)
현재는 gandi.net 에서 도메인 구매 후 nginx 설정하여 아무래도 고정 IP 를 구매하는것까지는 아닌거같아 유동IP에 crontab 서비스를 통해 변경되는 ip를 gandi 쪽 API 를 통해 변경하도록 하고있습니다.
gitlab, keycloak, microk8s 등 인프라 구성 및 code-server 같이 웹 접속만 가능하면 어디서나 개발 가능하도록 환경 구성을 해놨는데 grafana, elk stack 같은 모니터링 솔루션은 프로덕션 레벨의 서버가 아니다 보니 구성하는데 한계가 있네요 허허… 무엇보다 datasource 들을 어떤걸 연결할지 감이 안오는게… ddns 쪽 세팅 관련해서도 나중에 썰 한번 풀어보도록 하겠습니다.
P.S. 요즘은 재미있는 다른 모델들이 많이 나와있으니 다른 모델들도 고려해보시면 좋을거같습니다.