개인프로젝트/NAS+홈서버 만들기

NAS+홈서버 만들기 맥미니로 만들기(3) - 개발환경 만들기

JoJobum 2025. 5. 11.

그간 변경사항...

거의 1년만에 돌아왔다…ㅋㅋ

개인적으로 많은 일이 있다보니 아무래도 개인 프로젝트가 제일 후순위로 밀려 결국 마감기한이 있는 내용이 생기는 걸 트리거로 돌아왔다.

주제와 관련있는 내용만 말하자면

우선 올해 9월에 결혼을 하게 되었고,

올해 초에 회사에서 장비 지원금이 나와 M4 맥미니를 질렀다

그래서 모바일 청첩장을 이 맥미니에 띄워서 보여주면 좋겠다 싶었다.

그래서 예쁘게 케이스까지 만들어서 세팅한 라즈베리파이는 던지고ㅋㅋㅋ (서버 환경설정 + DAS 마운트 등 기본적인 환경설정 하다가 중단한 상태였다)

맥미니에 세팅하여 새로운 마음가짐으로 다시 시작했다.

 

 

현황

네트워크 흐름도

 

포트포워딩 설정 - 내가 요청을 받고자하는 기기의 내부 ip로 설정할 것

 

DNS 설정 - 공유기의 공인 IP로 등록해야 한다

작업한 내용

  1. 공유기 네트워크 설정 
    • NO-IP 에서 공유기의 공인 IP로 도메인 발급 
    • 공유기 설정에서 맥미니의 내부 IP로 포트포워딩
    • 공유기 설정에서 맥미니의 mac address 로 고정 ip 부여하기
      • 이게 없으면 공유기가 꺼졌다 켜지는 등으로 ip가 달라져서 라우팅이 안되었다
      • 그리고 위 설정을 완성하기 위해서는 맥미니에서 비공개 WIFI 기능을 꺼야한다
        왜냐하면, 맥미니의 mac address로 고정 ip를 부여하는건데 비공개 wifi 기능을 키면 mac address가 계속 바뀐다...
    • 하고나니 간단했지만 처음할 때 가장 오래 시간을 잡아먹은 내용이였던 것 같다...
  2. 맥미니 환경 설정
  3. 외장 SSD 설치 - docker desktop이 외장 SSD File Sharing 을 유료화하면서 골치 아팠다
    • 사실 처음에는 하나의 docker compose 설정으로 묶고 싶었는데, 나중에 NAS 서비스까지 띄울 생각을 하니 외장 SSD를 소스 및 파일 디렉토리로 쓰고 싶었다. 근데 유료화되어 설정이 안먹어... 따로 띄우고 docker Network 으로 컨테이너 그룹간의 연결을 구성하는 방향으로 틀었다.
  4. docker compose로 묶어 nginx+certbot 배포
    • nginx 로 리버스 프록싱
    • certbot 으로 SSL/TLS 인증서 발급 & 갱신 관리
  5. docker compose로 묶어서 next js + redis 배포
  6. 위 컨테이너 들을 docker network로 서로 통신하도록 구성
  7. github action 으로 git push 시 ssh 접속하여 nextjs 컨테이너 그룹 재배포하도록 설정

 

컨테이너 현황

 

git actions

 

예정

우선 6월 초 중순 완성 목표로 남는시간에 진행 중인데,

한동안 백엔드만 하다가 화면으로 결과가 바로바로 툭툭 나오면 프론트 쪽 작업을 하니 재미있다ㅋㅋ

뭔가 완성하고 나면 살짝 또 한동안 붕 뜰거 같긴한데 

그래도 지금 마음으론 CICD 도 좀 고도화하고 싶고 나중에 시간여유가 되면 docker compose말고 다른 구성으로 해보고 싶긴 하다.

 

다음은 아마 얼추 완성되면 홈서버 구성보단 이번에 만들고 있는 청첩장 개발내용 관련해서 적을 것 같다.

 

반응형

댓글