68P by GN⁺ | ★ favorite | 댓글 4개
  • 데이터 수집 중심의 중앙화된 서비스에 대한 대안으로 셀프 호스팅이 최근 인기를 얻고 있음
  • 다양한 도구와 앱을 실험후 1년 이상 안정적으로 운영 중인 경험을 바탕으로 유용했던 도구들을 소개
    • 컨테이너 런타임, 웹 기반 관리도구, 리버스 프록시와 VPN, 그외 셀프호스팅 도구들 추천글 모음
  • 특정 솔루션의 우열을 가리기 위한 글이 아니며, 다양한 문제에는 다양한 해법이 존재한다는 점을 강조

컨테이너 런타임

  • 요즘은 컨테이너가 호스팅의 기본이 되었고, 전통적인 방식은 점점 보기 어려워짐
  • 이는 홈서버 사용자(homelabber) 에게는 매우 긍정적인 흐름이며, 컨테이너는 소프트웨어 배포를 간편하게 만들고 가상머신보다 효율적인 성능을 제공함
  • 대부분은 Docker를 사용하지만, 이 글에서는 홈 환경에서 사용할 수 있는 다양한 대안 런타임을 소개함
  • Docker

    • 가장 널리 사용되는 원조 컨테이너 런타임
    • 풍부한 문서와 커뮤니티 덕분에 IT에 익숙하지 않아도 GitHub에서 docker-compose.yml을 복사해 실행해볼 수 있음
    • 단, 보안 관련 설정은 별도로 고려할 필요 있음
  • Podman

    • 루트리스(rootless) 구조와 Docker CLI 호환성 덕분에 주목받고 있는 차세대 컨테이너 런타임
    • 데몬 없이 작동하기 때문에 보안을 중시하거나, 관련 기술을 학습하려는 사람에게 적합
    • 대부분의 Docker 명령어를 그대로 사용할 수 있고, docker 명령어와 호환되는 alias 제공으로 전환이 쉬움
    • 초기에는 진입 장벽이 있지만, 문서와 커뮤니티가 발전하면서 점점 접근성이 향상됨
    • 추가로, Podman Quadlets를 통해 docker compose 대신 systemd 기반 선언적 컨테이너 관리도 가능함
  • Kubernetes

    • 호기심 많고 실험적인 홈서버 사용자에게는 도전 욕구를 자극하는 고급 툴
    • 수많은 인스턴스를 우아하게 관리할 수 있는 오케스트레이션 툴로서, 엔터프라이즈 수준의 관리 경험 제공
    • 단, 기능이 매우 많고 복잡하기 때문에 대부분 사용자에겐 과함
    • 홈 환경에서는 학습 자체가 주된 목적이며, 실제 활용보다는 기술 이해에 초점이 맞춰짐

웹 기반 컨테이너 관리 도구

  • 어떤 사용자들은 로컬 디스크에 compose 파일들을 모아두고 관리하길 선호하지만, 매번 SSH로 서버에 접속해 로그를 확인해야 하는 번거로움이 있음
  • 이를 대신해 웹 기반 컨테이너 관리 도구를 사용하면 훨씬 더 편리하게 작업 가능함
  • Portainer

    • Docker, Kubernetes, Podman과 모두 호환되는 가장 안정적인 웹 UI 관리 도구
    • 홈서버부터 기업 환경까지 널리 쓰이며, 실전 활용을 통한 학습에도 매우 유익함
    • 오픈소스 커뮤니티 버전과 추가 기능이 포함된 엔터프라이즈 버전 존재 (3개 라이선스는 무료 제공)
    • 직관적인 인터페이스와 다양한 기능 덕분에 컨테이너 관리에 매우 유리함
  • Dockge

    • Uptime Kuma 개발자가 만든 신생 웹 기반 Docker Compose 관리 도구
    • 아직 Portainer만큼 성숙하지는 않았지만, 매우 간단하고 직관적인 UI가 강점
    • 개발자가 GitHub 이슈에 신속하게 대응하고, 정기적인 업데이트가 이뤄짐
    • 가볍고 미니멀한 도구를 선호하는 사용자에게 적합

리버스 프록시와 VPN

  • 외부에서도 셀프 호스팅한 애플리케이션에 접근하려면 두 가지 주요 방법이 있음:
    • 서비스를 인터넷에 직접 노출
    • VPN을 통해 내부 네트워크에 접근
  • VPN은 보안상 더 안전하지만, 인터넷 노출 방식도 설정만 잘 하면 충분히 유용함
  • Pangolin

    • VPN과 리버스 프록시를 하나로 결합한 혁신적인 솔루션
    • 마치 셀프 호스팅용 Cloudflare 같은 역할
    • VPS 등에 인그레스 서버만 설치하면, 다양한 환경에서 VPN 클라이언트로 간편하게 연결 가능
    • CrowdSec 연동, 기본적인 SSO 기능까지 탑재됨
    • 작성자가 이 글을 쓰게 된 계기일 정도로 인상 깊은 툴이며, 시간이 지나면 기존 솔루션의 표준 대안이 될 가능성 있음
  • Nginx Proxy Manager (NPM)

    • TCP/UDP/HTTP(S) 프록시를 웹 UI로 쉽게 설정할 수 있는 Nginx 프론트엔드
    • 많은 사용자들이 활용 중이지만, 작성자는 일부 기능(예: 비밀번호 보호)이 불안정하다고 평가
    • 처음 접했던 툴로써 좋은 인상은 아니었지만, 작동 시에는 제 역할을 충실히 수행함
  • Caddy

    • 단순한 설정 파일(Caddyfile) 로 프록시 설정부터 HTTPS 인증서 발급까지 자동 처리
    • 웹 UI가 없기 때문에 초보자에게는 추천하지 않지만, UNIX 철학을 좋아하는 사용자에겐 최고의 선택
    • Let’s Encrypt를 기본 지원하며, 복잡한 구성이 필요 없는 것이 장점
  • NetBird

    • Tailscale에 익숙하다면 바로 적응할 수 있는 VPN 솔루션
    • WireGuard 기반 네트워크를 자동으로 구성하며, 복잡한 설정을 줄여줌
    • 클라우드 무료 티어 또는 자가 호스팅 모두 가능하여 유연성 있음

상태 모니터링 및 알림 도구

  • Uptime Kuma

    • Zabbix나 Grafana 같은 무거운 스택 없이도 간편하게 서비스 상태 모니터링 가능
    • 단 한 번의 배포로 다양한 채널을 통한 알림 설정 가능
    • 셀프 호스팅 시스템의 가용성 체크에 탁월함
  • Gotify

    • 간단한 HTTP 요청으로 푸시 알림 전송이 가능한 알림 서버
    • 모바일 앱 설치 후 알림 수신 가능하며, Uptime Kuma 등과의 통합도 가능
    • 다양한 셀프 호스팅 툴과 함께 사용할 수 있어 실용적임

셀프 호스팅 앱 검색을 위한 추가 자료

  • 다양한 셀프 호스팅 애플리케이션을 찾을 수 있는 유용한 자료 모음임
  • Awesome-Selfhosted

    • GitHub에서 제공하는 방대한 소프트웨어 리스트
    • 다소 정리되지 않았고, 개발이 중단된 프로젝트도 일부 포함되어 있음
  • Selfh.st

    • 작성자가 가장 좋아하는 자료 출처임
    • 틈새 애플리케이션 추천 뉴스레터와, 정렬 기능이 있는 대형 애플리케이션 디렉토리를 제공함
    • 매우 유용한 사이트임
  • awesome-docker-compose

    • 즉시 실행 가능한 Docker Compose 파일 모음
    • 일부 애플리케이션은 업데이트로 인한 호환성 문제를 가질 수 있으나, 전반적으로 좋은 참고 자료임
GeekNews Weekly에 포함된 글입니다. 에디터 코멘트 보기

댓글과 토론

n100 지난 알리 할인때 하나 사서 promox 설치하고 우선 기존에 쓰던 oracle arm 서버의 데이터들은 전부 백업 받아놨습니다. 추가로 헤놀, pfSense 설치해두고 아직 본격적으로굴리지 않고 있지만 곧 메인으로 옮길 예정이긴 합니다

작년 말 할인하던 vpn 서비스 구독을 해놨습니다. 슬슬 대형 서비스들에 여러가지 변화들이 생길 조짐이 보여서 차차 셀프호스팅을 하려고 마음 먹었거든요. 일단은 브라우저의 암호와 북마크를 옮겨가며 조금씩 테스트 해봐야죠.

Docker + Portainer + Cloudflare + Uptime Kuma
이렇게 쓰고 있네요.

Hacker News 의견
  • 자가 호스팅 아이디어를 좋아함. 여러 작은 웹사이트와 프로젝트를 운영 중이라 자원이 큰 문제가 되지 않음

    • 보안이 문제임. 자가 호스팅 사이트를 집에서 안전하게 운영하는 방법을 잘 모름
    • 학습을 계속하지만 배울수록 질문이 많아짐. 잘못된 말을 하면 누군가가 내 네트워크에 침입할까 걱정됨
    • 이런 불안감 때문에 Akamai, Linode, DO 같은 서비스를 사용하게 됨
    • 자가 호스팅 보안에 대한 자료를 찾고 있음
  • 새로운 VPS를 설정 중임

    • RHEL 9 개발자 구독 사용. dnf-automatic 설치, reboot = when-changed 설정으로 업데이트 자동화
    • 서비스는 podman과 quadlets 사용. docker-compose의 대체품으로 사용 중
    • nginx, vaultwarden, postfix, 웹메일 등을 운영할 계획임
    • 이미지 데이터로 인해 디스크 공간 낭비가 심함
  • 자가 호스팅의 증가가 걱정됨

    • 자가 호스팅 사용자들이 점점 더 주목받게 될 것임
    • 중국에서 VPS를 임대하는 방법에 대한 기사가 흥미로울 것임
  • dokku를 웹 앱 호스팅에 계속 사용할 계획임

  • Hashicorp Nomad와 Consul, Traefik을 OpenTofu로 관리 중임

    • 독립형 Docker는 잘 작동하지 않음. 컨테이너 속성을 변경하려면 재생성이 필요함
    • Quadlet은 서비스 클러스터 관리가 어려움. Podman의 미묘한 차이가 문제를 일으킴
    • Kubernetes는 너무 무거움. 경량 배포판도 여전히 무거움
    • 현재 설정으로 쉽게 HTTPS 서비스를 제공할 수 있음
  • Portainer를 사용해봤지만 docker compose가 더 쉬웠음

    • rootless 모드로 가려면 Podman이 좋음. Docker도 rootless로 작동 가능함
    • Docker rootless는 Debian과 Ubuntu에서 안정적임
    • Watchtower가 필요 없음. 자동 docker compose pull은 crontab으로 설정 가능함
  • 자가 호스팅 시 컨테이너를 사용하지 말고 정적 사이트 생성기를 사용하길 권장함

    • 동적 기능이 필요하면 PHP 사용 가능. nginx 설정으로 보안 강화 가능
    • 중요한 데이터는 zfs 데이터셋을 사용해 백업할 것을 권장함
  • FreeBSD jails와 셸 스크립트를 사용해 자가 호스팅 중임

    • 편리함을 포기했지만 안정적인 인터페이스를 유지함
  • 이 기사가 호스팅 방식을 업그레이드하도록 동기부여함

    • DigitalOcean VPS에서 개인 프로젝트를 운영 중이었음
    • Portainer + Caddy로 전환해 컨테이너 관리와 SSL 인증서 자동화를 구현함
    • 2025년으로 데려다줘서 고마움