【Docker】用开源umami监控你的站点访问量
慕雪年华

新年到,祝大家兔年吉祥!🎉

1.介绍

umami是一个开源的站点访问量监看程序,其支持docker部署到自己的服务器上。相比较百度等收费的网站信息监看,这种方式对于小站长来说更加实惠一些

2.docker安装的坑

2.1 docker-compose

以下是官方提供的yml文件,我只是将数据库docker的名字改成了umi-db,将3000端口映射给了本机的3010端口

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
version: '3'
services:
umami:
image: ghcr.io/umami-software/umami:postgresql-latest
ports:
- "3010:3000"
environment:
DATABASE_URL: postgresql://umami:umami@umi-db:5432/umami
DATABASE_TYPE: postgresql
HASH_SALT: adsfadsfa23421313dfabadsf32rl
depends_on:
- umi-db
restart: always
umi-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 -d命令,运行镜像。过一会再使用docker-compose ps,只要两个镜像都是正常运行状态,那就ok了

2.2 坑

这里有一个小🕳,那就是我们并不需要设置数据库的端口。在我的服务器上,5432端口已经被另外一个容器占领了,于是我就使用了下面的语法,想把数据库映射给5433端口

备注:下面的这个是错误写法,umami容器会因为连不上数据库而一直重启!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
version: '3'
services:
umami:
image: ghcr.io/umami-software/umami:postgresql-latest
ports:
- "3010:3000"
environment:
DATABASE_URL: postgresql://umami:umami@umi-db:5433/umami
DATABASE_TYPE: postgresql
HASH_SALT: adsfadsfa23421313dfabadsf32rl
depends_on:
- umi-db
restart: always
umi-db:
image: postgres:12-alpine
environment:
POSTGRES_DB: umami
POSTGRES_USER: umami
POSTGRES_PASSWORD: umami
ports:
- "5433:5432"
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:

实际上并不需要这么操作,因为默认状态下,这个数据库的端口都没有映射到本机,并不会和已有的端口冲突!

1
DATABASE_URL: postgresql://umami:umami@umi-db:5432/umami

这里其实已经指定了,是使用umi-db容器内部的5432端口,并不是使用云服务器的5332端口,二者是不一样的。

直接使用官方原有的docker-compose文件就没问题了!

3.进入管理页面

安装完毕后,使用云服务器ip:端口的方式访问,进入后台。

默认用户名是admin,默认密码是umami,进入之后请立刻修改密码。

3.1 修改中文

点击右上角的头像,进入profile,设置语言为中文。

image

3.2 添加站点

随后在网站选项栏添加网站,填入你的站点url和名字

image

3.3 添加到hexo博客上

保存了之后,点击右侧的这个代码块图标,复制里面的代码

image

到本地的hexo主题文件中,找到head文件,修改<head>处的代码,加入刚刚复制的代码

1
keep主题文件位置 themes\keep\layout\_partial\head.ejs

重新部署博客即可,数据过几小时就会生效

3.4 添加到wikijs

wiki js的管理页面,网站分析一栏就有umami

image

填入你部署umami的服务器url和站点id即可,圈出来的部分就是网站id,并不是你在umami里面设置的站点名字

image