当前位置: 首页 > article >正文

docker搭建umami

介绍

在众多的分析工具中,有google analyze、baidu analyze、51La等,为什么选择umami呢,原因在于umami可以用于自由部署、网站数据追踪、埋点等,数据可以掌握在自己手中,或者说灵活度更高,可以接入个人站点中展示网站访问情况。

umami优点:

  1. 简单分析 Umami 只测量你关心的重要指标:网页浏览量、使用的设备以及访问者的来源。这些数据都在一个易于浏览的页面上展示。
  2. 不限网站数量 Umami 通过一次安装就可以跟踪无限数量的网站,甚至还可以跟踪子域名和单个的 URL。
  3. 绕过广告拦截器 Umami 由你在自己进行托管部署,所以你可以有效地避免 Google Analytics 不同的广告拦截器。
  4. 轻量级 追踪脚本很小(只有 2KB),而且支持 IE 等旧版浏览器。
  5. 多账户 Umami 可用于为朋友或客户托管数据,只需创建一个单独的账号,他们就可以开始在自己的仪表板上跟踪自己的网站。
  6. 共享数据 如果你想公开分享你的统计数据,那么你可以使用一个唯一生成的 URL 进行共享。
  7. 移动端友好 Umami 界面已针对移动设备进行了优化,因此你可以从任何地方查看你的统计数据。
  8. 数据所有权 由于 Umami 是自托管的,因此你拥有所有数据。无需将你的数据交给第三方进行利用。
  9. 注重隐私 Umami 不收集任何个人身份信息,并对收集的所有数据进行匿名处理。
  10. 开源 Umami 是开源的,并采用 MIT 的开源协议。

前提

一台云服务器、配置有反向代理

云服务器安装docker、docker-compose

云服务器对应的防火墙(规则)端口开放

国内服务器需要自行配置镜像源地址

docker版本:Docker version 27.3.1, build ce12230

Linux版本:Linux lavm-2uq9wpz749 5.14.0-70.13.1.el9_0.x86_64 #1 SMP PREEMPT Wed May 25 21:01:57 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

umami版本:2.14.0 (目前是最新版)

官方网站:https://umami.is/

官方文档:https://umami.is/docs/

开源地址:https://github.com/umami-software/umami

演示地址: https://app.umami.is/share/8rmHaheU/umami.is

docker镜像查看:
https://github.com/umami-software/umami/pkgs/container/umami
https://hub.docker.com/r/umamisoftware/umami/tags

umami安装及配置

先熟悉不同docker-compose配置,如果你有docker基础,使用起来那是非常方便。如果不是,那就需要先了解docker的使用了。

这里使用最新docker compose命令,不再使用docker-compose命令

1.数据库选择(二选一)

mysql用于存储

文件名:docker-compose-umami.yml

以下是文件内容

version: '3'
services:
  umami:
    image: docker.umami.is/umami-software/umami:mysql-latest
    container_name: umami-latest-v
    ports:
      - "3010:3000"
    environment:
      DATABASE_URL: mysql://umami-u:123456-u@umami-mysql:3306/umami
      DATABASE_TYPE: mysql
      APP_SECRET: replace-me-with-a-random-string
    depends_on:
      - umami-db
    restart: always
  umami-db:
    image: mysql:8.0.20
    container_name: umami-mysql
    command: --default-authentication-plugin=mysql_native_password
    environment:
      TZ: Asia/Shanghai
      MYSQL_DATABASE: umami
      MYSQL_ROOT_PASSWORD: 123456-a
      MYSQL_USER: umami-u
      MYSQL_PASSWORD: 123456-u
    ports:
      - "3307:3306"
    volumes:
      # 挂载数据目录
      - ./umami-mysql-data:/var/lib/mysql
    restart: always

mysql://umami-u:123456-u@umami-mysql:3306/umami

mysql://数据库用户名:数据库密码@数据库容器名称:端口/数据库名

MYSQL_DATABASE: 数据库名
MYSQL_ROOT_PASSWORD: root用户密码
MYSQL_USER: 普通用户的用户名
MYSQL_PASSWORD: 普通用户的用户名对应的密码

这里只有普通用户进行连接数据库

postgresql用于存储

文件名:docker-compose-umami.yml

以下是文件内容

version: '3'
services:
  umami:
    image: docker.umami.is/umami-software/umami:postgresql-latest
    ports:
      - "3010:3000"
    environment:
      DATABASE_URL: postgresql://umami:umami@db:5432/umami
      DATABASE_TYPE: postgresql
      APP_SECRET: replace-me-with-a-random-string
    depends_on:
      - db
    restart: always
  db:
    image: postgres:12.22
    environment:
      POSTGRES_DB: umami
      POSTGRES_USER: umami
      POSTGRES_PASSWORD: umami
    volumes:
      - ./umami-db-data:/var/lib/postgresql/data
    restart: always

postgresql://umami:umami@db:5432/umami

postgresql://用户名:密码@默认连接名称:5432/数据库名

POSTGRES_DB: 数据库名
POSTGRES_USER: 用户名
POSTGRES_PASSWORD: 密码

注意:在老的教程中可能会有这个条// - ./sql/schema.postgresql.sql:/docker-entrypoint-initdb.d/schema.postgresql.sql:ro 现在不需要了

原因是在新版本中已经不需要初始化sql了,在源代码中已经处理了。

//- ./umami-db-data:/var/lib/postgresql/data

这个表示将本地文件系统中的某个目录(./umami-db-data)挂载到 Docker 容器中/var/lib/postgresql/data的目录,这样做的目的是以便在容器中持久化数据,数据卷可以使数据在容器停止或删除后保留,确保数据不丢失。

2.操作

2.1.创建目录:

mkdir -p /root/docker-compose/umami
mkdir -p  /root/docker-compose/umami/umami-mysql-data
mkdir  -p  /root/docker-compose/umami/umami-db-data

2.2.在目录下创建docker-compose.yml文件

docker-compose.yml文件在/root/docker-compose/umami目录下创建

在数据选择中选择其中一个配置即可

2.3. 启动docker compose

在/root/docker-compose/umami目录下执行以下命令

启动:

docker compose -f docker-compose-umami.yml up -d

为什么使用自定义的docker-compose-umami.yml名称呢

1.为了方便后续增加其他docker-compose文件

2.docker compose 默认配置是docker-compose.yml,通过docker-compose up -d即可启动

3.自定docker compose配置,定制化需求更好,比如umami提供的两种数据库,不想修改配置,可以这样:

docker-compose-umami-mysql.yml 用于填写mysql配置内容

docker-compose-umami-postgresql.yml 用于填写postgresql配置内容

关闭删除容器

docker compose -f docker-compose-umami.yml  down

更新容器镜像

docker compose -f docker-compose-umami.yml  pull

拉取docker-compose-umami服务的最新镜像

访问umami

在没有使用方向代理,则直接通过ip地址加端口即可访问

默认账号是:admin

密码:umami

地址:http://11x.xx.xx.53:3010

附录

为什么使用docker compose而不使用docker-compose

对于新用户和新的项目,推荐使用 docker compose,因为它是最新的命令集并且集成更好

注意:

docker.umami.is/umami-software/umami:postgresql-latest镜像可能在国内服务器中可能拉下来非常慢,可以选择阿里云提供的镜像服务,将docker hub镜像同步到阿里云镜像仓库中,然后再在服务器中使用对应的地址拉取umami:postgresql-latest或umami:mysql-latest

参考:

https://blog.amarea.cn/archives/use-docker-deploy-umami-analytics.html

https://www.zywvvd.com/notes/tools/umami/umami/

https://blog.laoda.de/archives/umami?cid=3913


http://www.kler.cn/a/421117.html

相关文章:

  • 基于TensorFlow框架的线性回归实现
  • 设计模式10:观察者模式(订阅-发布)
  • 【计算机网络】实验9: 路由信息协议RIP
  • Qt—QLineEdit 使用总结
  • Rust学习笔记_12——闭包
  • 2.5 特征降维(机器学习)
  • PHM技术:一维信号时序全特征分析(统计域/频域/时域)| 信号处理
  • 【机器人】01 强化学习、模仿学习和运动规划 仿真平台ISAAC Lab安装与使用
  • 代码随想录-算法训练营day31(贪心算法01:分发饼干,摆动序列,最大子数组和)
  • 【CUDA】Kernel Atomic Stream
  • python学opencv|读取视频(一)灰度视频制作和保存
  • Nginx 转发代理天地图服务
  • adb导出系统apk
  • vulnhub靶场【哈利波特】三部曲之Aragog
  • std::thread()函数的第一个参数的使用细节
  • FreeSWITCH mod_conference 的按键会控
  • 【C++】智能指针的使用和原理
  • 总结拓展十七:特殊采购业务——委外业务
  • 数据结构——有序二叉树的删除
  • 【Tr0ll2靶场渗透】
  • 帮我写一篇关于AI搜索网页上编写的文章是否存在版权问题的文章, 字数在 3000 字左右。文心一言提问, 记录后用.
  • Erlang数据库:Mnesia(一) —— 数据库查询
  • Linux——基础命令(3)
  • 叉车智能防撞系统选购攻略:多维度考量,确保安全作业
  • 中国移动量子云平台:算力并网590量子比特!
  • 红外传感器HW—201