지금 이 블로그, 구형 맥미니 한 대로 돌고 있습니다

지금 이 블로그, 구형 맥미니 한 대로 돌고 있습니다

안녕하세요.
이번 글에서는 구형 Mac mini를 홈서버로 구성한 과정을 정리했습니다.

집에 남은 구형 Mac mini가 하나 있었습니다.
성능은 애매했고, macOS 지원도 이미 중단된 상태였습니다.
보관만 하기엔 아쉬워, 홈서버로 전환해보기로 했습니다.

요즘 개발 환경은 대부분 추상화되어 있습니다.
서비스를 배포하면 자동으로 빌드되고, 리소스는 알아서 확장됩니다.
편리하지만, 내부에서 실제로 어떤 일이 일어나는지는 확인하기 어렵습니다.

그래서 한 번쯤은 이 과정을 직접 다뤄보고 싶었습니다.


운영체제는 macOS 대신 리눅스로

Mac mini에 설치되어 있던 macOS는 오래된 버전이었고,
업데이트 지원도 종료된 상태였습니다.
GUI 기반으로 가볍게 사용하는 방법도 있었지만,
서버로서의 실용성과 확장성을 고려하면 리눅스가 더 적합했습니다.

Ubuntu Server를 설치하기로 했습니다.
USB로 부팅 디스크를 만들어 최소 구성으로 설치를 진행했고,
필요한 요소만 간단히 설정했습니다.
macOS의 CLI 환경만으로도 비슷한 구성이 가능하지만,
패키지 관리나 설정 유연성을 생각하면 Ubuntu가 훨씬 효율적입니다.
무엇보다 리눅스 환경은 시스템 동작을 명시적으로 제어할 수 있다는 점이 매력적이었습니다.

설치 과정은 문제없이 완료되었습니다.
이제 홈서버의 기반이 마련된 만큼, 실제 서비스 환경 구성을 시작했습니다.


Docker 환경 구성

Ubuntu Server 설치 이후 가장 먼저 구성한 것은 Docker였습니다.
컨테이너 기반으로 서비스를 운영하면 관리가 용이하고,
다양한 환경에서도 일관된 실행 결과를 얻을 수 있기 때문입니다.
또한 여러 개의 서비스를 격리된 구조로 운영할 수 있어
홈서버 목적에도 잘 맞았습니다.


Docker 설치 과정

Ubuntu 기본 저장소의 Docker 버전은 구버전이었기 때문에,
공식 저장소를 추가해 최신 버전을 설치했습니다.

이 과정에서 몇 가지 사전 패키지가 필요했습니다.
특히 gnupg는 Docker 저장소의 GPG 키를 등록할 때 사용되며,
패키지의 출처를 검증하는 역할을 합니다.

공식 문서를 참고해 저장소를 등록한 뒤,
docker-ce, docker-ce-cli, containerd.io, docker-compose-plugin을 함께 설치했습니다.

설치가 완료된 후, hello-world 컨테이너를 실행해 Docker가 정상적으로 동작하는지 확인했습니다.
별다른 오류 없이 메시지가 출력되었고, 컨테이너 실행이 정상적으로 이루어졌습니다.


첫 컨테이너 실행: Nginx 웹 서버

설치 확인 이후에는 간단한 웹 서버를 실행해보았습니다.
Nginx 컨테이너를 실행하고, 호스트와 컨테이너 간의 포트를 매핑했습니다.
서버의 IP 주소를 브라우저에서 호출했을 때
기본 Nginx 환영 페이지가 정상적으로 출력되었습니다.

Docker에서 실행한 Nginx 컨테이너의 기본 환영 페이지

이후 실행 중인 컨테이너의 상태를 확인하고,
간단한 로그 확인 및 내부 접근도 진행했습니다.
Nginx가 서비스 중인 HTML 파일 경로(/usr/share/nginx/html)를 직접 확인하며
컨테이너가 실제로 동작 중임을 검증했습니다.


Docker 기반 구성을 선택한 이유

Docker를 사용한 이유는 단순한 설치 편의성 때문만은 아닙니다.
홈서버 환경에서 다음과 같은 장점이 있었습니다.

  1. 환경 재현 가능성
    동일한 이미지를 통해 언제든 같은 환경을 구성할 수 있습니다.
  2. 격리된 서비스 구조
    각 서비스가 독립적으로 운영되어 충돌을 방지할 수 있습니다.
  3. 운영 상태 가시성
    컨테이너 단위로 로그, 상태, 리소스 사용량을 분리해 관리할 수 있습니다.

홈서버는 장비의 제약이 명확하기 때문에,
기초부터 가벼운 컨테이너 구조로 설계하는 것이 유지 보수 측면에서도 유리하다고 판단했습니다.


다음 단계

현재까지의 구성은 다음과 같습니다.

  • Ubuntu Server 설치 및 초기 설정
  • Docker 설치 및 기본 컨테이너 실행 확인

다음 단계에서는 Docker Compose를 사용해
여러 개의 컨테이너를 조합한 서비스 환경을 구성할 예정입니다.
예를 들어, 블로그 플랫폼과 reverse proxy, 정적 파일 서버를
하나의 Compose 환경에서 관리하는 구조를 목표로 하고 있습니다.


이번 글에서는 구형 Mac mini를 홈서버로 전환하기 위한
기초 단계와 Docker 기반 환경 구성을 다뤘습니다.
다음 글에서는 이 환경을 확장해 실제 서비스를 구성하는 과정을 다룰 예정입니다.