umami install
一直想找一个不使用 cookie 追踪的统计网站,虽然大多数主流浏览器具备了这种 cookie 反追踪的能力,但是我依旧想使用这种脱敏的统计工具。
Start
为什么我会选择 umami
呢?主要是它不是用 PHP
开发的,毕竟我之前 PHP
网站被 getshell
记忆还历历在目,而且 @Innei 也做了 Mix Space 对于 umami
的动态化配置支持。
Install
既然这个官方写有 docker-compose.yml
那就抄过来一键梭哈不就行了?但是国内的机器 pull
来自 github
的镜像文件总是要有些慢,自己在找解决方案的时候意外发现了一个项目利用 github action
把非 docker.io
的镜像 push
到 docker.io
,直接 Fork
配置好 docker token
,就直接开始了~
docker-compose.yml
示例
---
version: '3'
services:
#我重新push的镜像地址
umami:
image: timochan/ghcr.io.innei.umami:postgresql-v1.38.1
ports:
#容器3000端口映射到宿主机3000端口,可以自行修改映射
- "3000:3000"
environment:
#数据库信息,如果修改要和下面db信息对应
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:
#数据库初始化文件
- ./schema.postgresql.sql:/docker-entrypoint-initdb.d/schema.postgresql.sql:ro
#数据库文件映射
- ./data/db:/var/lib/postgresql/data
restart: always
volumes:
umami-db-data:
保存这个 docker-compose.yml
到一个目录下,然后去下载 schema.postgresql.sql
这个在 GitHub 仓库里,我这里就不提供了。
这两个文件放在同一个文件夹,梭哈!
使用 docker-compose
拉起~
#docker-compose 2.x版本用法,需要自行查询如何使用
sudo docker compose up -d
#docker-compose 1.x版本用法,2.x版本依旧兼容
sudo docker-compose up -d
Reverse Proxy
初始化完成后,由于映射到了宿主机的 3000 端口,这个时候建议对其进行反向代理
一个 Nginx
反向代理示例配置项,这个操作可以用 BT 面板完成
#PROXY-START/
location ^~ /
{
proxy_pass http://localhost:3000;
proxy_set_header Host localhost;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
add_header X-Cache $upstream_cache_status;
#Set Nginx Cache
set $static_file8AWXWWkj 0;
if ( $uri ~* "\.(gif|png|jpg|css|js|woff|woff2)$" )
{
set $static_file8AWXWWkj 1;
expires 12h;
}
if ( $static_file8AWXWWkj = 0 )
{
add_header Cache-Control no-cache;
}
}
#PROXY-END/
这样反向代理完成,访问自己的 umami 统计网站
username : admin
password : umami
进去之后修改用户名和密码就行了!
End
愉快的使用 umami
作为自己的网站统计工具吧~
PS
Mix Space
的用户可以在动态配置项加入如下内容,yaml
示例如下
function:
player:
id:
- 1485290705
- 521416693
- 1306507078
- 1490282617
- 29418292
analyze:
enable: true
umami:
id: 9ea59d68-f36b-4679-8952-daf1b1e21ddb
url: https://analyze.timochan.cn
#可选
jsname: re/rean
endpoint: rean
ban_devtool:
enable: false
保存,愉快使用吧!