【笔记】通过Docker部署Umami

前言

通过Docker部署Umami,实现站点统计

通过DockerCompose部署

<password>:数据库密码

docker-compose.yaml
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:mysql-latest
restart: unless-stopped
depends_on:
- umami-db
ports:
- 3000:3000
environment:
DATABASE_TYPE: mysql
DATABASE_URL: mysql://umami:<password>@umami-db:3306/umami
APP_SECRET: replace-me-with-a-random-string
container_name: umami
umami-db:
image: mysql:latest
restart: unless-stopped
volumes:
- /root/Umami/data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: <password>
MYSQL_DATABASE: umami
MYSQL_USER: umami
MYSQL_PASSWORD: <password>
container_name: umami-db

初始化

Username:admin
Password:umami

  • Go to settings

  • Add website

  • 配置站点名和域名->Save

  • Edit

  • 获取Website ID

在任意网站上配置计数器

<umami_domain>:Umami站点域名或IP地址
<uuid>:站点id

1
<script defer src="https://<umami_domain>/script.js" data-website-id="<uuid>"></script>

在Hexo的NexT主题中配置Umami

script_url:umami的js文件url地址,可以使用公共的js文件
host_url:自己的用于统计上报的url地址

<umami_domain>:Umami站点域名或IP地址
<uuid>:站点id

_config.next.yml
1
2
3
4
5
umami:
enable: true
script_url: https://<umami_domain>/script.js # https://umami.example.com/script.js
website_id: <uuid> # <your website id>
host_url: https://<umami_domain> # <your umami site url>

踩坑

  • 报错:Command failed: prisma migrate deploy Error: P3009

解决问题

  • 使用8.x的Mysql数据库

完成

  • 截图纪念

参考文献

OriLight的自留地
YUNYI的博客
ROYWANG的博客