Docker를 이용한 웹 사이트 분석 솔루션 Umami 구축하기.
안녕하세요. 달소입니다.
앞서 분석 솔루션인 Umami를 Docker를 이용해서 한번 구축해보도록하겠습니다.
이 솔루션을 제대로 사용하기 위해서는 반드시 도메인을 통한 외부접근이 필요하기때문에 이점을 유의하시고 진행해주시면 되겠습니다.
ex) umami.example.com과 같은 도메인으로 접근요청을 보내 트래킹 분석
저는 tracker.dalso.org 로 도메인을 생성했습니다.
설치환경
Ubuntu 22.04 LTS
Docker, Docker-Compose
https://github.com/mikecao/umami/blob/master/docker-compose.yml
사용예정
컨테이너 생성하기
먼저 리눅스 쉘의 컨테이너 생성전에 디렉터리를 미리 만들어주세요.
db데이터는 도커의 볼륨에 그대로 매핑하도록하겠습니다.
mkdir -p /data/umami cd /data/umami vi docker-compose.yml
---
version: '3'
services:
umami:
image: ghcr.io/mikecao/umami:postgresql-latest
ports:
- "3000:3000"
environment:
DATABASE_URL: postgresql://umami:umami@db:5432/umami
DATABASE_TYPE: postgresql
HASH_SALT: replace-me-with-a-random-string
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
- umami-db-data:/var/lib/postgresql/data
restart: always
volumes:
umami-db-data:
docker-compose up 명령어를 통해 이미지를 다운로드 받고 컨테이너를 생성합니다.
생성이 완료되면 ip:3000번 포트로 umami 관리페이지로 접근할수있습니다.
기본 계정명과 PW는 admin/umami 입니다.
흠.. 공식 docker-compose를 그대로 썼는데 internal error가 나오네요...
해결방법.
wget https://cdn.jsdelivr.net/gh/mikecao/umami@master/sql/schema.postgresql.sql docker exec -i <<docker_container_id>> psql -U umami -d umami < schema.postgresql.sql
로그인이 되면 Profile로 가서 admin 계정의 pw를 변경해주시면됩니다.
한국어도 지원하니 한국어 설정도하시고~
NPM에 리버스프록시 등록하기
Umami 사용하기(웹사이트 추가)
이제 웹사이트 추가부터 진행해보겠습니다.
이름 필드 는 원하는 대로 지정할 수 있습니다. 일반적으로 도메인 이름과 동일합니다.
도메인 필드는 웹사이트 의 실제 도메인입니다. 메트릭의 리퍼러 목록에서 자신의 웹사이트를 필터링하는 데 사용됩니다.
공유 URL 활성화 확인란 은 고유한 URL을 통해 웹사이트 통계를 공유하려는 것을 의미합니다.
등록이 완료되면 추적코드를 복사해서 운영중인 사이트의 head 섹션에 넣어주시면됩니다.
제가 운영하는 라이믹스 기준 시스템 설정 -> 사이트 설정에 상단(헤더)스크립트에 넣어주시면됩니다.
등록을 하고 시간이 지나면 이렇게! 보입니다
공식문서 쓸때 에러나는경우가 심심치 않게 있더라구요...
하다못해 portainer만 해도 ㅎㅎ..
https://github.com/mikecao/umami/issues/449 참고해서 한번 확인해보심이
해결해서 내용에 추가햇습니다!
docker-compose에서는 db스키마가 자동으로 추가되게한거같은데 실제로는 적용이 되지를 않네요 ㅠ
내리면서 읽다가 이 무슨 열린 결말..ㅋㅋ
ps. 제목에 '사이브' 오타 있습니다
으하하하... 둘다 수정했습니다 만세!!
오랜만에 접속했더니 할게 많아지는군요 ㅜ,.ㅜ
cmt alert