9P by neo 2달전 | favorite | 댓글 1개

소프트웨어 자가 호스팅에 대한 부드러운 안내

  • 과거에는 소프트웨어와 게임이 DVD로 배포되었음. 2000년대에는 개인용 컴퓨터가 주류였고, Chromebook은 인터넷과 인터페이스만 있으면 대부분의 소프트웨어를 실행할 수 있는 새로운 개념이었음.
  • 2010년대에는 클라우드 컴퓨팅이 대세가 되었고, 구독 서비스가 광고 다음으로 온라인에서 돈을 버는 주요 방법이 되었음.
  • 이로 인해 컴퓨터 과학자들이 컴퓨터 애호가로 시작할 기회를 잃었고, 해커 정신이 점차 사라지고 있음.
  • 2024년에는 자가 호스팅의 기본적인 즐거움을 다시 탐구할 때가 되었음.

왜 자가 호스팅을 해야 하는가?

  • 철학적 이유: 독점에 저항하고 디지털 자아에 대한 완전한 통제를 유지하는 방법으로, 온라인 자유의 마지막 보루임.
  • 실용적 이유: 비용을 절약할 수 있지만, 시간과 정신 건강을 잃을 수 있음. 다른 사람이 시스템의 신뢰성, 동시성, 중복성 및 가용성을 관리하게 하는 것이 더 실용적임.
  • 지적 이유: 시스템을 지속적으로 조정하는 디지털 차고로, 하루 일과 후에 좋아하는 장난감을 가지고 노는 것과 같음.
  • 가장 중요한 이유: 재미있어야 함. 취미로서의 자가 호스팅임.

공유 호스팅

  • 공유 웹 호스팅 서비스는 여러 서비스가 하나의 웹 서버에 거주하는 방식임. 서버 유지 관리 비용이 여러 고객에게 분산됨.
  • Uberspace를 추천함. 매우 친절한 호스팅 서비스 제공자임.
  • Uberspace에 계정을 만들고 SSH 접근 권한을 얻어 클라우드에서 10GB의 저장 공간과 1.5GB의 RAM을 사용할 수 있음.

소프트웨어 설치

  • Uberspace Labs: Uberspace에서 사용할 수 있는 다양한 소프트웨어 설치 가이드 제공.
  • Awesome-Selfhosted: 자가 호스팅 가능한 소프트웨어 목록 제공.
  • Docker는 Uberspace에서 사용할 수 없지만, 소스에서 소프트웨어를 설치하거나 Docker 이미지를 빌드 이미지로 사용할 수 있음.

추천 소프트웨어

  • Actual Budget: 재정 관리 앱으로, Envelope Budgeting 방법론을 사용함. 민감한 재정 데이터를 제어하면서 전 세계 어디서나 브라우저를 통해 접근할 수 있음.
  • Miniflux: 최소주의적이고 의견이 강한 피드 리더. RSS 피드를 통해 여러 웹사이트의 업데이트를 한 곳에서 확인할 수 있음.

보너스: 도메인

  • 자가 호스팅의 가장 멋진 부분은 개인 도메인을 통해 자신의 것을 자랑하는 것임.
  • 도메인 이름 등록 기관에서 도메인을 구입하고, Uberspace에서 호스팅하는 다양한 서비스를 서브도메인에 연결할 수 있음.
  • 이메일 제공자가 맞춤형 도메인 설정을 허용하는지 확인하고, 이메일 주소를 유지하면서 이메일 서비스 제공자를 변경할 수 있음.
  • 서브도메인이나 URL 경로를 GitHub 저장소에 연결하여 공개적으로 접근 가능한 파일을 호스팅할 수 있음.

GN⁺의 정리

  • 이 글은 자가 호스팅의 기본적인 즐거움을 다시 탐구하고자 하는 사람들에게 유용함.
  • 자가 호스팅은 철학적, 실용적, 지적 이유로 가치가 있으며, 무엇보다도 재미있어야 함.
  • Uberspace와 같은 공유 호스팅 서비스를 통해 쉽게 시작할 수 있으며, 다양한 소프트웨어를 설치하고 사용할 수 있음.
  • 개인 도메인을 통해 자신의 것을 자랑하고, 이메일 주소를 유지하면서 서비스 제공자를 변경할 수 있음.
  • 자가 호스팅에 관심이 있는 사람들에게 흥미롭고 유용한 정보 제공.
Hacker News 의견
  • 오래된 사용자로서, 공유 호스팅에 비용을 지불하는 것이 이제는 "셀프 호스팅"이라고 불리는 것에 놀라움
    • 10년 전에는 셀프 호스팅이라고 부르지 않았음
    • 요리법이 진화한 것과 비슷함
  • 셀프 호스팅을 사랑하며 최근 몇 달 동안 많이 사용해 봄
    • 회사와 집에서 여러 서비스를 운영 중임
    • Hetzner VPS를 사용하고 ansible + docker compose 파일 또는 coolify를 통해 프로비저닝함
    • awesome-selfhosted 저장소는 좋은 프로젝트를 찾을 수 있지만 사용 편의성 면에서 부족함
    • 이를 개선하기 위해 selfhostedworld.com에서 UX 개선된 디렉토리를 만듦
  • "다른 사람이 시스템의 신뢰성, 동시성, 중복성 및 가용성을 걱정하게 하라"는 의견에 반대함
    • 자동화된 전화 시스템을 통과하는 경험이 얼마나 힘든지 설명함
    • 문제 발생 시 직접 해결할 수 있는 것이 더 나음
    • 주요 호스팅 제공업체에 대해 인간과 대화할 수 있는지 여부에 대한 리뷰를 보고 싶어함
  • Kubernetes가 셀프 호스팅 커뮤니티에서 주목받고 있음
    • 3대의 Dell r720XD를 nixos와 k3s로 멀티 마스터 모드로 운영 중임
    • rook/ceph를 스토리지로 사용하며 다양한 크기의 하드 드라이브를 보유함
    • 하드 드라이브를 제거하고 다시 꽂아도 문제가 없음
  • 셀프 호스팅의 기쁨을 강조함
    • 학습, 도전, 유용성의 조합임
    • Actual Budget와 Changedetection.io를 추천함
    • 보안 위협 모델링을 언급하지 않은 점은 아쉬움
    • 초보자는 LAN 전용으로 호스팅하거나 보안을 강화해야 함
    • Docker를 사용하여 다양한 앱을 동시에 실행하는 것을 추천함
    • Docker 방법을 다룬 책을 홍보함
  • PikaPods의 아이디어를 좋아했지만 비용 문제로 실망함
    • 작은 인스턴스/서비스를 사용해도 비용이 많이 듦
    • 비용 효율적인 솔루션을 원함
  • 셀프 호스팅을 좋아하며 작은 취미 프로젝트에서 많은 것을 배움
    • 중고 Dell R630을 저렴하게 구입하여 사용 중임
    • 1tb raid 1 SSD, 32gb RAM, 32 코어, 1gbps 광섬유 연결을 사용함
    • IP 변경을 감지하기 위해 1분마다 cronjob을 사용하고 linode API로 DNS A 레코드를 변경함
  • Hetzner의 기본 클라우드 VPS가 더 나은 사양을 제공함
    • 4Gb RAM과 40Gb 디스크를 E4.51에 제공함
  • 이 가이드를 졸업한 후에는 /r/homelab과 /r/homedatacenter를 확인할 것을 추천함