跳到主要内容

部署轻量数据统计分析umami

· 阅读需 3 分钟

Umami 是一个简单、易于使用的开源网站分析解决方案。它的目标是提供一个清晰的视图,而不会让你的隐私权受到侵犯。

安装v2

说明
  • 安装其实比较简单哈, 这里我们以compose和k8s为例,介绍如何安装, 默认已经了解docker或者k8s了
  • 对MySQL比较了解哈, 基本使用mysql版本哈

关于镜像

可能官方镜像无法拉取, 这里我同步了一下, 有需要的可以使用哈

同步时间:2023.05.13
  • registry.cn-beijing.aliyuncs.com/k7scn/umami:mysql-latest
  • ccr.ccs.tencentyun.com/k7scn/umami:mysql-latest

具体部署

请对照修改哦
  • APP_SECRET: 最好改成自己随机字符串,可以使用这个工具随机生成pwgen 32 1
  • DATABASE_URL: 自己的数据库连接信息

操作如下😂, 仅供参考:

docker-compose.yml
示例如下,数据库信息根据自己的要求
---
version: '3'
services:
umami:
image: ccr.ccs.tencentyun.com/k7scn/umami:mysql-latest
container_name: umami
ports:
- "3000:3000"
environment:
DATABASE_URL: mysql://umami:umamipassword@db:3306/umami
DATABASE_TYPE: mysql
APP_SECRET: umami_hash_salt_random_secrets
depends_on:
- db
restart: always
db:
image: bitnami/mysql:8.0
container_name: db
environment:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_USER: umami
MYSQL_PASSWORD: umamipassword
MYSQL_DATABASE: umami
volumes:
- 'mysql_data:/bitnami/mysql/data'
restart: always
healthcheck:
test: ['CMD', '/opt/bitnami/scripts/mysql/healthcheck.sh']
interval: 15s
timeout: 5s
retries: 6
volumes:
mysql_data:
driver: local

使用

默认安装完访问域名或者:3000端口

账号
  • 默认账号: admin
  • 默认密码: umami

升级v1版本

由于我很早之前就基于k8s安装了,需要手动升级一下

使用job处理一下
升级脚本
apiVersion: batch/v1
kind: Job
metadata:
name: unami-upgrade
spec:
template:
metadata:
name: unami-upgrade
spec:
containers:
- name: unami-upgrade
image: ccr.ccs.tencentyun.com/k7scn/umami:mysql-latest
command: ["sh", "-c", "npm config set registry https://registry.npm.taobao.org/ && npx @umami/migrate-v1-v2@latest"]
workingDir: /app
env:
- name: DATABASE_URL
value: "mysql://umami:umamipassword@mysql.default.svc:3306/umami"
- name: APP_SECRET
value: "umami_hash_salt_random_secrets"
- name: DATABASE_TYPE
value: "mysql"
restartPolicy: Never
backoffLimit: 1
# 重启使用最新镜像
kubectl rollout restart deploy/umami
其他
  • tracker script has been renamed from umami.js to script.js
  • job方式升级有瑕疵没有清理掉v1的库哈

服务中断

中间踩了npx没法下载相关包的坑😂😂, 浪费了比较长的时间

status

最后

如果使用clash作为代理,可能有几条规则会导致你没法访问官方文档

Loading Comments...