01 介绍

Umami 是一个小巧但功能强大的开源网站分析平台。 它提供了一种隐私友好的方式来追踪和理解你的网站访问者行为,而无需依赖像Google Analytics 这样的第三方服务。

02 docker-compose 配置

1
2
3
4
# 创建文件夹,并进入umami目录
mkdir -p ~/docker_data/umami
cd ~/docker_data/umami
nano docker-compose.yml

docker-compose.yml 中配置如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
version: '3'
services:
umami:
image: ghcr.io/umami-software/umami:postgresql-latest
ports:
- "3000:3000"
environment:
DATABASE_URL: postgresql://umami:umami@db:5432/umami # 这里的数据库和密码要和下方你修改的相同
DATABASE_TYPE: postgresql
HASH_SALT: UmamiXxySALTXxyUmami
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

通过 docker-compose 启动 Umami

1
docker-compose up -d

03 Nginx 反向代理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
upstream umami {
server 172.17.0.1:3030;
}

server {
server_name umami.xuanyangxu.com;

location / {
proxy_pass http://myumami/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
}

listen [::]:80;
listen 80;
}

04 如何使用 Umami