프로젝트 소개
Insight는 사용자의 자체 서버에서 실행하는 웹 분석 대시보드입니다. Docker를 통해 한 번 설치한 후, 사이트의 head 부분에 단일 스크립트 태그를 붙여넣기만 하면 됩니다. 이후 대시보드에서는 누가 어디서 방문하여 무엇을 읽고 구매하는지, 그리고 어떤 AI 봇이 페이지를 크롤링하는지를 실시간으로 보여줍니다. SaaS 계정이나 제3자 서비스가 없으며, 모든 데이터는 사용자가 선택한 머신의 데이터베이스에 저장됩니다.
청중 및 콘텐츠 지표
- 방문자 수, 페이지뷰, 이탈률, 참여 시간, 신규 및 재방문자
- 라이브 피드 및 방문자별 상세 정보가 포함된 3D 세계 지도
- 인기 페이지, 랜딩 페이지, 종료 페이지 및 외부 클릭
- 국가, 지역, 도시 및 언어
획득
- 채널 분류(검색, 소셜, AI, 추천, 직접), 추천인, 캠페인 및 전체 UTM 세부 분석
- 선택적 연결을 통한 Search Console 키워드 확인
수익
- 읽기 전용 키를 사용한 Stripe 연결을 통해 환불액을 제외한 순매출, 전환율, 방문자당 매출, 그리고 자체 구매 이벤트를 기반으로 한 소스 및 캠페인 기여도를 표시합니다.
행동 및 봇
- 2~4단계의 퍼널, 주간 리텐션 코호트 및 혼잡 시간대 히트맵
- 페이지별 AI 및 인덱싱 크롤러 기록(AI 답변, 인덱싱, 학습 그룹으로 구분). JavaScript를 실행하지 않는 크롤러도 서버 측에서 기록됩니다.
편의 기능
- 오늘, 7일, 30일, 90일 또는 사용자 지정 날짜 범위 및 차트 메모
- 라이트/다크 테마 및 드래그 앤 드롭 방식의 대시보드 커스터마이징
- 과거 데이터 기록을 위한 선택적 GA4 가져오기 및 지구본 렌더링을 위한 Mapbox 지원
개인정보 보호 모델
- 기본적으로 트래커는 방문자의 기기에 아무것도 쓰지 않습니다(쿠키 및 localStorage 미사용).
- 방문자는 매일 변경되는 솔트 처리된 SHA-256 해시로 계산됩니다. 원본 IP 주소는 데이터베이스에 기록되지 않으며 해시에서 복구할 수 없습니다.
- data-persist="true"를 통한 선택적 정밀 모드는 localStorage에 랜덤한 퍼스트 파티 ID를 저장하여 정확한 재방문자 및 리텐션 추적을 가능하게 합니다. README에서는 이를 개인정보 처리방침에서 쿠키와 동일하게 취급해야 하며, EU 사용자의 경우 동의 절차가 필요함을 명시하고 있습니다.
- 프로젝트는 개인정보 처리 전반에 관한 사항이므로, 분석 도구 하나만으로는 사이트가 자동으로 GDPR을 준수하게 되지 않는다고 분명히 밝히고 있습니다.
설치 및 운영
- 신규 Ubuntu 서버를 위한 프로비저닝 스크립트가 Docker, 방화벽 규칙 및 자동 보안 업데이트를 설치합니다.
- 설정은 .env 파일(관리자 이메일 및 비밀번호, 인증 시크릿, ClickHouse 비밀번호)에서 관리합니다.
- Docker Compose로 두 개의 컨테이너가 시작되며, 1 vCPU / 2 GB RAM의 소형 서버로도 충분합니다.
- 선택 사항으로 GitHub Actions 워크플로우를 통해 푸시할 때마다 이미지를 빌드하고 SSH를 통해 서버에 배포할 수 있습니다.
보안
- 공개 회원가입이나 등록 엔드포인트가 없습니다. 유일한 관리자는 서버 환경 설정에 지정된 이메일과 비밀번호이며, 이는 상수 시간(constant time) 비교 방식으로 검증됩니다.
- 2단계 인증 필수: 첫 로그인 시 QR 코드가 표시되며 이후에는 6자리 코드가 필요합니다.
- 세션은 인증 시크릿으로 HMAC 서명되며 30일 후 만료됩니다.
- 대시보드는 noindex로 표시되며 robots.txt에서 접근이 금지되어 있습니다.
- 비밀 정보는 서버의 .env에만 존재하며 저장소에는 포함되지 않습니다.
CLI
- 별도의 토큰을 사용하는 읽기 전용 CLI를 통해 "insight stats 30d", "insight stats today --site myshop.com", "insight sites"와 같은 수치를 확인할 수 있으며, AI 어시스턴트와 연결하여 자연어로 질문할 수 있습니다. 이 토큰으로는 대시보드에 접속할 수 없습니다.
스택 및 라이선스
- Next.js 16 App Router (standalone), React 19, TypeScript 및 Tailwind CSS v4
- ClickHouse(이벤트 저장), SQLite(설정 저장), Mapbox GL(지구본 렌더링), Recharts(차트 작성)
- MIT 라이선스, Nicolas Lecocq 제작
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.