모든 시스템 정상 작동 중 21 종 암호화폐 지원 · 모네로 환영 KYC 없음 정책
ChainVPS

Monitoring · KYC 없음

Uptime Kuma를 해외 VPS에 호스팅

제3자 SaaS가 엔드포인트 목록이나 신원을 관리하지 않는 해외 VPS에서 나만의 업타임 모니터와 공개 상태 페이지를 직접 운영하세요.

설명

Uptime Kuma는 웹사이트, API, TCP 포트, DNS 레코드, 컨테이너의 가용성을 점검하고 장애 발생 시 90개 이상의 알림 채널로 알려주는 셀프 호스팅 모니터링 도구입니다. 깔끔한 웹 대시보드를 제공하며 공개 또는 비공개 상태 페이지를 게시할 수 있고, 모든 데이터는 단일 내장 SQLite 데이터베이스로 관리됩니다.

왜 해외에서 호스팅해야 할까요

모니터링 서버에는 감시 중인 모든 호스트명, IP, 포트, API 키 등 인프라의 전체 지도가 담겨 있으므로, 이 서버가 어디에 있고 누가 소환장을 통해 접근할 수 있는지가 중요합니다. Uptime Kuma를 KYC 없이 암호화폐로 결제하는 해외 VPS에서 운영하면 이 인벤토리가 SaaS 대시보드에서 벗어나고 운영 환경이 위치한 관할권 밖에 머무르며, 무제한 트래픽 덕분에 상시 폴링도 비용 부담이 없습니다.

배포

실제로 작동하는 참고 설정

이 내용을 새 ChainVPS 인스턴스에 붙여넣으세요. 자리표시자를 실제 값으로 교체한 뒤 실행하세요.

docker-compose.yml
# 1) Install Docker + compose plugin (Ubuntu 24.04)
#    curl -fsSL https://get.docker.com | sh
#
# 2) docker-compose.yml  — Uptime Kuma behind Caddy for automatic HTTPS
#    Replace status.example.com with your domain (A record -> this VPS).

services:
  uptime-kuma:
    image: louislam/uptime-kuma:1
    container_name: uptime-kuma
    restart: unless-stopped
    volumes:
      - ./uptime-kuma-data:/app/data
    # Bound to loopback: only Caddy reaches it, never the public internet.
    ports:
      - "127.0.0.1:3001:3001"

  caddy:
    image: caddy:2
    container_name: caddy
    restart: unless-stopped
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile:ro
      - caddy-data:/data
      - caddy-config:/config

volumes:
  caddy-data:
  caddy-config:

# 3) Caddyfile (same directory) — TLS is issued automatically:
#    status.example.com {
#        reverse_proxy uptime-kuma:3001
#    }
#
# 4) docker compose up -d
#    Open https://status.example.com and create the admin user
#    on first visit (do this immediately — the setup screen is unauthenticated).

방화벽

열어야 할 포트

포트프로토콜용도
3001TCPUptime Kuma 웹 UI / WebSocket — 항상 127.0.0.1에 바인딩하고 절대 외부에 공개하지 마세요
443TCP리버스 프록시(Caddy/nginx)를 통한 HTTPS — 사용자에게 필요한 유일한 인바운드 포트
80TCPHTTP, ACME/Let's Encrypt 인증서 발급과 443으로의 리다이렉트에만 사용

적정 규모 산정

필요한 요금제

가벼움

VPS Nano / Small (1 vCPU, 1-2 GB RAM)

개인 사용, 60초 간격으로 최대 약 50개 모니터. Uptime Kuma는 유휴 상태에서 수백 MB 수준으로 동작합니다.

중간

VPS Pro (2-4 vCPU, 4-8 GB RAM)

소규모 팀, 수백 개 모니터와 여러 공개 상태 페이지, 잦은 점검.

높음

VPS Pro(대형) 또는 엔트리 Dedicated

짧은 간격으로 1,000개 이상의 모니터. SQLite 쓰기 경합이 한계가 되므로, RAM을 늘리기 전에 빠른 NVMe와 전용 CPU 코어를 확보하고 점검 간격을 늘리세요.

추천 로케이션: 전체 엔드포인트 인벤토리를 저장하는 서버가 우호적인 관할권에 위치하도록 프라이버시 등급이 높은 로케이션(NL, CH, RO, IS, MD, LU)을 선택하세요 — NL과 CH는 연결 품질도 뛰어나 프로브 지연 시간이 낮고 오탐 알림도 줄어듭니다. 모니터링 대상이 특정 지역에 집중되어 있다면, 그 지역과 연결이 좋은 로케이션을 선택할수록 가장 정확한 up/down 신호를 얻을 수 있습니다.

보안을 강화하세요

보안 강화 체크리스트

  • 포트 3001을 절대 인터넷에 노출하지 마세요. 위와 같이 127.0.0.1에 바인딩하고 TLS 리버스 프록시를 통해서만 UI에 접근하며, 80/443과 SSH만 허용하는 UFW 규칙을 추가하세요.
  • `up -d` 직후 처음 접속했을 때 즉시 관리자 계정을 생성하세요 — 초기 설정 페이지는 인증이 없어서 당신보다 먼저 UI를 로드하는 사람이 인스턴스를 탈취할 수 있습니다. 이후 설정 > 보안에서 2FA를 활성화하세요.
  • ./uptime-kuma-data를 정기적으로 백업하세요(단일 SQLite DB입니다). 복사 전에 컨테이너를 중지하거나 Uptime Kuma 내장 백업 기능을 사용해 데이터베이스가 절반만 기록되는 것을 방지하고, 사본은 모니터링 서버 외부에 보관하세요.
  • 공개 상태 페이지는 최소한으로 유지하세요 — 내부 호스트명과 IP가 노출될 수 있습니다. 비공개 상태 페이지나 페이지별 접근 제어를 사용하고, 모니터에는 실제 서버 호스트명 대신 일반적인 표시 이름을 지정하세요.
  • 알림은 신원과 연결되지 않는 채널(전용 Telegram 봇이나 셀프 호스팅 Apprise/ntfy)로 라우팅하고 개인 이메일은 피하며, DB 내 알림 토큰은 비밀 정보로 취급하세요.
  • 이미지는 메이저 태그 `1`에 고정하고 일정에 따라 `docker compose pull && up -d`를 실행하세요. Uptime Kuma는 활발히 개발 중이므로 프로젝트의 릴리스 노트를 계속 확인하세요.

질문

호스팅 Uptime Kuma — FAQ

Uptime Kuma는 별도의 데이터베이스 서버가 필요한가요?

아니요. /app/data에 저장되는 내장 SQLite 데이터베이스를 사용하므로, 단일 컨테이너와 데이터 볼륨만으로 전체 스택이 구성됩니다. 그래서 모니터 수가 많을 때는 대용량 RAM보다 빠른 디스크가 더 중요합니다.

왜 포트 3001을 그냥 열지 않고 Caddy나 nginx 뒤에 두어야 하나요?

Uptime Kuma는 자체 TLS 없이 3001에서 일반 HTTP로 서비스됩니다. 리버스 프록시는 자동 HTTPS를 추가하고 앱을 루프백에만 유지하며 접근 제어를 추가할 수 있게 해줍니다 — 3001을 직접 노출하면 관리자 로그인이 암호화되지 않은 HTTP로 전송됩니다.

ChainVPS 서버에서 다른 나라의 서버도 모니터링할 수 있나요?

네. 모니터링은 아웃바운드 방식입니다 — VPS가 HTTP(S), TCP, ICMP ping, DNS 등을 통해 대상에 직접 접속합니다. 무제한 트래픽 덕분에 잦은 점검도 비용이 들지 않으며, 연결이 좋은 로케이션을 선택하면 지연 시간으로 인한 오탐 알림도 줄어듭니다.

실제로 리소스를 얼마나 사용하나요?

모니터 몇 개만 있는 유휴 인스턴스는 단일 vCPU에서 약 200-400 MB RAM으로 여유롭게 동작합니다. 사용량은 모니터 수와 실행 빈도에 따라 늘어나므로, 하드웨어를 업그레이드하기 전에 점검 간격을 늘리세요.

내 상태 페이지와 엔드포인트 목록은 비공개로 유지되나요?

이는 전적으로 사용자의 통제 하에 있습니다. 상태 페이지는 선택 사항이며 비공개로 설정할 수 있고, 모니터 목록은 VPS의 SQLite DB에만 존재합니다. KYC 없는 해외 호스트에서는 감시 대상에 대한 제3자 SaaS 사본이 존재하지 않으며 계정에 연결된 신원도 없습니다.

생성하기 Uptime Kuma
60초 안에 배포하세요.

무제한 트래픽 · 디도스 방어 포함 · 21종 암호화폐 · KYC 없음.