uptime-kuma 소개 및 docker로 설치하는 방법

Uptime Kuma(업타임 쿠마)는 웹사이트, 서버, API, 서비스 등이 정상적으로 작동 중(Online)인지, 다운(Offline)되었는지 실시간으로 감시(모니터링)해 주는 오픈소스 모니터링 도구입니다.

아래는 Uptime Kuma를 docker compose로 설치하는 방법입니다.

1) docker-compose.yml 작성

원하는 디렉토리에 폴더 만들고 파일 생성:

mkdir -p ~/uptime-kuma
cd ~/uptime-kuma
nano docker-compose.yml

내용:

version: "3.8"

services:
  uptime-kuma:
    image: louislam/uptime-kuma:1
    container_name: uptime-kuma
    restart: always
    ports:
      - "3001:3001"
    volumes:
      - uptime-kuma-data:/app/data

volumes:
  uptime-kuma-data:

2) 실행

docker compose up -d

(구버전 docker면 docker-compose up -d)

3) 상태 확인

docker compose ps
docker compose logs -f uptime-kuma

4) 접속

브라우저에서:

http://서버IP:3001

접속하면 최초 1회 관리자 계정(아이디/비밀번호) 생성 화면이 뜹니다.

image

확인사항

  • 방화벽/보안그룹에서 3001 포트를 열어줘야 외부에서 접속 가능합니다 (사내망이면 내부 IP로만 접속해도 무방)
  • HTTPS로 접속하고 싶으면 앞단에 Nginx/Caddy 리버스 프록시를 하나 더 두는 게 일반적입니다
  • 데이터는 uptime-kuma-data 볼륨에 저장되므로 컨테이너 재시작해도 설정 유지됩니다

설치는 이게 끝입니다. 리버스 프록시(HTTPS) 설정이나 Gmail SMTP 앱 비밀번호 발급 방법도 필요하시면 알려드릴게요.

참고) 구글 클라우드 GCP 방화벽 규칙 추가하기

Console에서 진행:

  1. GCP Console → 좌측 메뉴 VPC 네트워크(VPC network) → 방화벽(Firewall)
  2. 상단 + 방화벽 규칙 만들기(Create Firewall Rule) 클릭
  3. 아래처럼 설정:
    • 이름: allow-uptime-kuma
    • 네트워크: 해당 인스턴스가 속한 네트워크 (보통 default)
    • 트래픽 방향: 수신(Ingress)
    • 일치 시 작업: 허용(Allow)
    • 대상: 네트워크의 모든 인스턴스 (또는 특정 태그로 제한하고 싶으면 태그 지정)
    • 소스 IP 범위: 0.0.0.0/0
    • 프로토콜 및 포트: TCP 체크 → 3001 입력
  4. 만들기(Create) 클릭