간단한 사이트 통계 서비스 umami

umami
umami.is

보통 운영중인 웹사이트의 사이트 통계를 확인하기 위해서는 내부적인 도구를 사용하거나 Google Analytics, Naver Analytics 등 외부 도구를 많이 사용하는 편입니다. 하지만 내 웹사이트의 정보가 외부로 나간다는 건 사실 좀 망설여지는 일이긴 하죠. 그리고 기능도 너무 복잡해서 진짜 간단한 통계만을 원하는데 덩치가 너무 커서 통계 확인 중 길을 잃기도 합니다.

그래서 많은 대안이 있긴 한데 뭔가 복잡하고 더 어렵고 돈을 받는 경우가 상당합니다. 1) 복잡한게 아니라 간단한 웹사이트 방문 정보만 확인하고 싶은데 2) 구축하는데 시간과 신경을 쓰고 싶지 않으면 Umami를 한번 사용해보셔도 좋을 것 같습니다.

Umami에서는 사이트 단위로 조회수(PV), 방문객(UV), 이탈율, 평균 체류시간 및 조회가 일어난 페이지, 방문 로그, 검색엔진이나 타 사이트의 링크를 타고 왔을 경우에 대한 리퍼러, 방문객의 브라우저, OS, 플랫폼 및 국가 정보를 심플하게 확인할 수 있으며, 이 정보들을 실시간 확인할 수도 있습니다. 배포나 사용이 간단하고 부담없기 때문에 한번쯤 시도해보시는 것을 추천합니다.

1. docker-compose.yml 파일과 기본 스키마 파일, DB 데이터가 저장될 디렉토리를 생성합니다.
$ mkdir -p ~/docker-apps/umami
$ mkdir -p ~/docker-apps/umami/sql
$ mkdir -p ~/docker-apps/umami/db-data

2. 기본 스키마 파일을 다운로드받습니다.
$ cd ~/docker-apps/umami/sql
$ wget https://github.com/umami-software/umami/blob/2b395f252d2daebaca94143a7ef5ecd55f47400c/sql/schema.postgresql.sql

3. docker-compose.yml 파일을 작성합니다. HASH_SALT는 임의의 문자열을 입력하면 됩니다.

version: '3'
services:
  umami:
    image: ghcr.io/umami-software/umami:postgresql-latest
    ports:
      - "3999:3000"
    environment:
      DATABASE_URL: postgresql://umami:umami@db:5432/umami
      DATABASE_TYPE: postgresql
      HASH_SALT: cd45767b431a88f1df6b7c1f2b49d0b0
    depends_on:
      - db
    restart: always
  db:
    image: postgres:12-alpine
    environment:
      POSTGRES_DB: umami
      POSTGRES_USER: umami
      POSTGRES_PASSWORD: umami
    volumes:
      - ./sql/schema.postgresql.sql:/docker-entrypoint-initdb.d/schema.postgresql.sql:ro
      - ./db-data:/var/lib/postgresql/data
    restart: always

4. docker compose를 실행하여 배포합니다.
$ docker compose up -d

5. 웹접속해봅니다.
http://{{server ip}}:3999
* Nginx Proxy Manager 등으로 리버스 프록시를 먼저 설정해두면 웹사이트 추가 시 생성되는 자바스크립트에 서버 주소가 반영되므로 미리 설정하는 편이 좋습니다.

6. 초기 계정 admin / umami 입니다. 로그인 후 패스워드 및 계정을 변경할 수 있습니다.

7. 이후에는 웹사이트 추가하고, 웹사이트용 자바스크립트를 복사하여 사이트의 <header> 부분에 입력하면 바로 통계를 받아오기 시작합니다(느낌상 한 2~3분 정도 후부터 확인이 됩니다). 자세한 사용법은 서버포럼 게시물을 참고하시면 도움이 됩니다. 🙂 ⓣ