커뮤니티 솔루션

CasaOS에 Uptime Kuma를 설치하여 셀프 호스팅 서비스 모니터링하기

A September 2023 CasaOS post introducing Uptime Kuma as a self-hosted availability monitor. The forum body contains little installation detail, so current Uptime Kuma Docker settings are needed for a durable setup page.

2023년 IceWhale 커뮤니티의 Uptime Kuma 게시물은 설치 안내라기보다 소개에 가깝습니다. 게시물에는 CasaOS에 설치하는 튜토리얼이라고 적혀 있지만, 답글에서는 사람들이 Uptime Kuma를 유용하게 여기는 이유인 서비스 중단 알림, 중요하지 않은 서비스의 운영 모니터링, 푸시 모니터에 초점을 맞춥니다. 포럼 본문 자체에는 단계별 설치 프로그램 설정이 보존되어 있지 않습니다.

따라서 현재 유용한 페이지에서는 CasaOS라는 맥락과 커뮤니티의 활용 사례를 유지하면서, 실제 배포에는 Uptime Kuma의 유지 관리되는 Docker 요구 사항을 사용해야 합니다.

Uptime Kuma가 홈 서버에 더해 주는 기능

Uptime Kuma는 셀프 호스팅 모니터링 대시보드입니다. 웹사이트, TCP 서비스, DNS 엔드포인트, ping 대상, Docker 관련 서비스 또는 푸시 기반 작업이 정상인지 확인하고 상태가 변경되면 알림을 보낼 수 있습니다.

원래 답글에서는 알림이 실용적인 가치로 반복해서 강조되었습니다. 대시보드도 유용하지만, 가장 큰 이점은 가족 구성원이 알려 주기 전에 서비스가 중단되었다는 사실을 파악하는 것입니다.

최신 Uptime Kuma 컨테이너 사용

현재 Uptime Kuma 배포 지침에서는 유지 관리되는 louislam/uptime-kuma:2 이미지를 사용합니다. 웹 애플리케이션은 포트 3001에서 수신 대기하며, 영구 데이터베이스와 구성은 /app/data 아래에 저장됩니다.

현재 CasaOS 사용자 지정 애플리케이션을 만들 때는 2023년 동영상에 나온 오래된 이미지 태그를 사용하는 대신, Uptime Kuma의 유지 관리되는 Docker 설치 설정을 CasaOS 앱 양식에 맞게 옮겨 입력하세요.

포트 3001에서 대시보드 노출

컨테이너 측 웹 서비스는 TCP 포트 3001을 사용합니다. 해당 호스트 포트가 이미 사용 중이라면 다른 호스트 포트를 컨테이너 포트 3001에 매핑하고, 선택한 호스트 포트를 통해 CasaOS 앱을 여세요.

호스트 포트를 변경해도 업스트림 애플리케이션이 해당 변경을 명시적으로 지원하고 필요로 하지 않는 한 Uptime Kuma의 내부 포트를 변경할 필요는 없습니다.

/app/data 영구 저장

CasaOS 호스트 폴더 또는 Docker 볼륨을 /app/data에 매핑하세요. 이 경로에는 모니터링 구성, 사용자 데이터, SQLite 데이터베이스가 들어 있으므로 중요한 백업 대상입니다.

영구 볼륨 없이 컨테이너를 다시 만들면 새로 설치한 Uptime Kuma처럼 동작합니다.

안정적인 잠금을 지원하는 파일 시스템에 데이터베이스 보관

현재 Uptime Kuma 지침에서는 SQLite 데이터베이스에 안정적인 POSIX 파일 잠금이 필요하다고 경고하며, 데이터 디렉터리에 여러 NFS 구성과 같은 파일 시스템을 사용하지 말라고 구체적으로 주의합니다.

홈 서버에서는 /app/data를 로컬 저장소에 두는 것이 가장 간단한 방법입니다. 그런 다음 해당 로컬 디렉터리를 다른 디스크나 원격 대상으로 백업할 수 있습니다.

사용자 경험에 맞는 모니터 선택

ping 모니터는 시스템이 ICMP에 응답한다는 사실만 확인합니다. 실제 요구 사항이 “Jellyfin이 로드되어야 한다”라면 Jellyfin 엔드포인트에 대한 HTTP 모니터가 더 적합합니다.

실용적인 구성에는 다음을 포함할 수 있습니다.

  • 웹 애플리케이션용 HTTP 확인;
  • 유용한 웹 엔드포인트가 없는 서비스용 TCP 확인;
  • Pi-hole 또는 AdGuard Home용 DNS 확인;
  • 기본적인 호스트 연결 가능성 확인을 위한 ping 확인;
  • 완료 사실을 보고해야 하는 예약 작업용 푸시 모니터.

스레드에서 언급된 푸시 모니터가 중요한 이유

한 커뮤니티 참여자는 푸시 모니터를 자주 사용한다고 구체적으로 밝혔습니다. Uptime Kuma가 서비스를 폴링하는 대신 백업 스크립트나 예약 작업이 성공할 때 고유 URL을 호출합니다. 예상 시간 내에 해당 하트비트가 도착하지 않으면 Uptime Kuma는 모니터를 비정상으로 표시합니다.

이는 “서버가 온라인 상태다”라는 사실만으로는 작업이 실제로 실행되었는지 알 수 없는 경우에 유용합니다.

첫 번째 장애가 발생하기 전에 알림 테스트

최소 하나의 알림 채널을 구성하고 의도적으로 테스트 알림을 발생시키세요. 알림 전송에 조용히 실패하는 모니터링 시스템은 과거 기록을 보여 주는 대시보드에 불과합니다.

가정용 서비스에서는 알림 피로도도 고려하세요. 사소한 엔드포인트마다 즉시 알림을 보내도록 설정하면 실제 장애를 더 쉽게 무시하게 될 수 있습니다.

원격 액세스가 의도된 경우가 아니라면 모니터링 대시보드를 비공개로 유지

Uptime Kuma에는 내부 호스트 이름, 서비스 이름, 네트워크 주소, 장애 이력이 표시될 수 있습니다. 원격 모니터링이 유용하다는 이유만으로 인터넷에 직접 공개하지 마세요. 원격 액세스가 필요하다면 VPN, 비공개 오버레이 네트워크 또는 인증된 리버스 프록시를 사용하세요.

2023년 CasaOS 스레드를 현재 버전 고정값으로 사용하지 않기

원본 토론에서는 잘 관리되는 애플리케이션을 칭찬하지만 이미지 버전은 보존되어 있지 않습니다. 이는 오히려 유리합니다. 2023년 9월에 존재했던 정확한 컨테이너를 재현하려 하지 말고 현재 업스트림 릴리스를 사용하세요.

CasaOS에서 Uptime Kuma 사용 FAQ

현재 Uptime Kuma는 어떤 포트를 사용하나요?

웹 인터페이스에는 포트 3001을 사용합니다.

어떤 디렉터리를 영구 저장해야 하나요?

/app/data입니다.

데이터 디렉터리를 로컬 저장소에 두어야 하는 이유는 무엇인가요?

SQLite 데이터베이스에는 안정적인 파일 잠금이 필요하며, 현재 업스트림 지침에서는 적합하지 않은 네트워크 파일 시스템의 사용을 경고합니다.

원래 커뮤니티에서는 무엇을 가장 중요하게 여겼나요?

답글에서는 알림과 푸시 모니터 기능이 반복해서 강조되었습니다.