41P by GN⁺ 1일전 | ★ favorite | 댓글 2개
  • 데이터 수집 중심의 중앙화된 서비스에 대한 대안으로 셀프 호스팅이 최근 인기를 얻고 있음
  • 다양한 도구와 앱을 실험후 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 파일 모음
    • 일부 애플리케이션은 업데이트로 인한 호환성 문제를 가질 수 있으나, 전반적으로 좋은 참고 자료임

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년으로 데려다줘서 고마움