5 min read

홈서버 구축기

홈서버 구축기
Photo by Ben Tofan / Unsplash

홈 서버 구축기라는 제목이지만 팬소리가 시끄러워 사무실에서 운영하였다.

1. 처음에는 안쓰는 gram 노트북에 리눅스를 설치해 서버를 구축하였다.
사양적인 문제와 VM 1대로는 서버 운영에 한계가 있어 미니PC를 구매. 구매 조건은 다음과 같다.
- 가격은 30만원 근처
- 공간을 많이 차지 하면 안됨(선반으로 숨길 수 있는 정도)

  1. GMKtec M6를 당근으로 32만원에 구매 하였다.
현재 알리에서는 68만원에 판매

집에서 설치해서 쓰는데 이 미니PC의 최대 단점이 소음 이었다. 조금만 서버를 돌려서 팬소리가 나서 신경쓰였다.

집에는 N100 CPU 인 미니 PC(firebat)을 알리에서 구매한게 있는데 전혀 소리가 나지 않는다. 딱 윈도우 문서, 인터넷 서핑, 유튜브 시청까지 가능한 정도

이때로 돌아간다면 5대정도 구매할꺼다.

그래서......

  1. 2대의 홈서버(?)를 설치하기로 결정!
    노트북은 기존에 사용중인 노트북 쿨러에 설치, 업무용 노트북에 간격을 주어 설치
    미니PC는 proxmox가 설치되어 무선랜이 안되 랜선 연결...
  2. VPN 시도 실패
    처음에 VPN을 zerotier로 했을때는 TCP신호라 그런지 차단이 되었다.
  3. tailscale 시도 성공
    혹시 VPN 방식을 바꾸면 되지 않을까? 했는데 테스트를 해보니 되었다.
    UDP 방식이라 가능했던거 같다.
    zerotier-> tailscale로 변환하는게 엄청 손이 많이 가서 스크립트로 해결했다.
tailscale VPN 설치-진작에 알았으면 좋았을 시리즈4
zerotier처럼 별도의 서버를 내 서버에 두는 건 아니다. 1. tailscale 가입 2. 각 리눅스에서 설치 curl -fsSL https://tailscale.com/install.sh | sh sudo tailscale up Installation complete! Log in to start using Tailscale by running: tailscale up root@gram:~# sudo tailscale up To authenticate, visit: https://login.tailscale.com/

6. cloudflare tunnel 성공
포트포워딩이 불가능하기 때문에 공인IP 때문에 집에 미니PC를 둘 수 밖에 없었는데 다행히 OCI freetier VM 2개가 있었다. 이걸로 도커스웜+tailscale+caddy 조합으로 외부에서 접속 가능하게 세팅이 가능했다.

도커 스웜 설치
도커 스웜도 공식 문서 설치가 가능하지만 https://docs.docker.com/reference/cli/docker/swarm/ 처음 접속하면 뭘 해야 할지 까다롭다. 반드시 tailscale로 VPN을 사전에 설치하고 도커 스웜을 설치해야 한다. 그래야 보안이 유지 된다. zerotier와 다르게 UDP로 통신하고 제한도 10개가 아닌 20개가 제한이다. 도커스웜 장,단점도커 스웜은 공식 문서에서 그대로 설치하는게
caddy 오류(인줄 알았으나 clouflare)
cloudflare에서 *.도메인 설정이 빠져 있었다. 간밤에 내가 건드리지 않았을꺼라 확신해서 확인하지 않았으나 로그를 바탕으로 확인은 안되었다. caddy오류였다면 www.picnictime.co.kr도 접속이 안되야 하는데 저 사이트만 되는걸 보니 cloudflare일 수 있다고 생각했다. DNS_PROBE_POSSIBLE 문제는 caddy가 아니라고 해서 cloudflare 설정을 보니 추가해주니 정상작동;;
Caddy-reverse proxy-진작 알았으면시리즈2
💡reverse proxy???? 내 도커는 caddy를 만나기 전과 후로 나눌수 있을 정도이다. 이게 없으면 nginx를 써서 rever proxy 설정을 하고, 인증도 해줘야 되는 설정이 엄청 복잡하다. proxy를 쓰는 이유는? cache를 쓰는 이유와 같다.google이, naver가 우리에게 직접적으로 정보를 주는 것 같지만 그 사이에는 수많은 proxy server를 지난다. 그러면 역방향 proxy라고 하는

결국엔 최소형으로 설치되었다.