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회 관리자 계정(아이디/비밀번호) 생성 화면이 뜹니다.

확인사항
- 방화벽/보안그룹에서 3001 포트를 열어줘야 외부에서 접속 가능합니다 (사내망이면 내부 IP로만 접속해도 무방)
- HTTPS로 접속하고 싶으면 앞단에 Nginx/Caddy 리버스 프록시를 하나 더 두는 게 일반적입니다
- 데이터는
uptime-kuma-data볼륨에 저장되므로 컨테이너 재시작해도 설정 유지됩니다
설치는 이게 끝입니다. 리버스 프록시(HTTPS) 설정이나 Gmail SMTP 앱 비밀번호 발급 방법도 필요하시면 알려드릴게요.
참고) 구글 클라우드 GCP 방화벽 규칙 추가하기
Console에서 진행:
- GCP Console → 좌측 메뉴
VPC 네트워크(VPC network)→방화벽(Firewall) - 상단
+ 방화벽 규칙 만들기(Create Firewall Rule)클릭 - 아래처럼 설정:
- 이름:
allow-uptime-kuma - 네트워크: 해당 인스턴스가 속한 네트워크 (보통
default) - 트래픽 방향: 수신(Ingress)
- 일치 시 작업: 허용(Allow)
- 대상:
네트워크의 모든 인스턴스(또는 특정 태그로 제한하고 싶으면 태그 지정) - 소스 IP 범위:
0.0.0.0/0 - 프로토콜 및 포트: TCP 체크 →
3001입력
- 이름:
만들기(Create)클릭