此文章介绍用Docker Compose部署Umami服务监控站点的方法。含创建配置文件,替换国内镜像,修改端口、数据库配置等信息,还提供执行命令,解决其他统计工具卡顿、访问慢问题。

之前一直使用“百度统计”和“谷歌分析“来统计网站访客,后来觉得不是很好用,就换成了免费的 WP Statistics 插件,不得不说,这个插件功能强大,各种需要的信息都有,唯一问题就是,我这个小破服务器,安装上这个插件之后会很卡,尤其是后台,而且插件用到的很多资源应该都是放在国外服务器了,国内访问巨慢。后来看见很多博友自己部署 Umami 服务,颜值高,信息全,开整。

博主使用的是 Docker Compose 的安装方法,其他方法详见官网:点击跳转

创建 Docker Compose 配置文件

之前一直想用 MySql 数据库的,因为站点的 WordPress 也使用的 MySql 数据库,方便管理,但是吧,经过我一天多的研究,还是失败了。实在弄不出来了,干脆就使用了官方推荐的 PostGreSql ,并且数据库也直接使用 Docker 部署,然后映射数据库文件到宿主机,备份保存。(我也试过使用宿主机 PostGreSql 数据库,但是一直数据库连接失败,有能力的小伙伴可以尝试一下)

1. 创建 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
24
25
26
27
28
29
30
31
---
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
APP_SECRET: replace-me-with-a-random-string
depends_on:
db:
condition: service_healthy
restart: always
db:
image: postgres:15-alpine
environment:
POSTGRES_DB: umami
POSTGRES_USER: umami
POSTGRES_PASSWORD: umami
volumes:
- umami-db-data:/var/lib/postgresql/data
restart: always
healthcheck:
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
interval: 5s
timeout: 5s
retries: 5
volumes:
umami-db-data:

2. 替换国内镜像

这个文件包含 Umami 主程序镜像和 PostGreSql 数据库镜像,umami 是主程序配置,db 是数据库配置。由于 Umami 拉取Docker 镜像使用的是Github 的 Pack­age 功能,国内服务器拉取速度不亚于“未开通百度网盘会员”的下载速度,所以我将镜像推送到了阿里云的镜像库中,有需要的可以替换其中的镜像地址(我尽量保持推送最新镜像,有时更新不及时,敬请谅解)替换方法:1. Umami 的镜像地址:由ghcr.io/umami-software/umami:postgresql-latest 替换为 registry.cn-hangzhou.aliyuncs.com/umami_yxc/umami:v2.4.0 2. db数据库镜像地址:由 postgres:15-alpine 替换为 registry.cn-hangzhou.aliyuncs.com/umami_yxc/postgres:v2.4.0

3. 修改自定义信息

其实配置文件改成这样,就可以直接部署了,但是还是有一些地方可以自己修改。

3.1 修改映射端口号

可以自定义宿主机映射端口号,"3000:3000" 冒号前面为宿主机端口号,可以随意修改,修改后安全组放通即可。

3.2 修改 Umami 数据库配置信息

DATABASE_URL: postgresql://umami:umami@db:5432/umami 连接数据库URL释义: DATABASE_URL: postgresql://username:password@db:5432/databasename

3.3 修改 APP_SECRET 项

用任意字符串替换即可

3.4 修改 PGSql 数据库配置

POSTGRES_DB: POSTGRES_USER: POSTGRES_PASSWORD: 这三项要分别对应 3.2 中修改的 databasename username password (注:若 3.2 中未作修改,则忽略此步骤)

3.5 修改数据库宿主机映射地址

umami-db-data:/var/lib/postgresql/data 将冒号前地址替换为保存备份数据库的地址,要写全路径。

执行 Docker Compose 命令

1
2
docker compose pull
docker compose up -d