Docker本地Umami教程:实时监控与数据可视化

由于百度统计使用 unload 导致浏览器错误和性能问题,加之广告拦截普遍屏蔽其代码,数据采集变得不可靠。为了提升数据准确性并保护访客隐私,我们决定转向自行部署 Umami。

在部署过程中,特别是在国内环境下通过 Docker 拉取镜像时,尝试了多种加速方案仍不奏效,最终发现现有教程推荐的镜像地址并非 Docker Hub 的标准地址。基于这些经验,我整理了一份优化后的 docker-compose.yml 配置建议,为遇到类似问题的朋友提供更稳定的部署路径。

宝塔面板篇

在需要放入umami信息的文件夹建立docker-compose.yaml文件,填写下面的内容:

version: '3'
services:
  umami:
    container_name: umami
    image: umamisoftware/umami:postgresql-latest
    ports:
      - "3000:3000"
    environment:
      DATABASE_URL: postgresql://umami:umami@db:5432/umami
      DATABASE_TYPE: postgresql
      HASH_SALT: replace-me-with-a-random-string
    depends_on:
      - db
    restart: always
  db:
    container_name: umami-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

注意,umami的ports中,3000:3000可以将前面的3000更换成其他闲置端口。

然后通过ssh访问服务器后,cd进这个文件夹,然后执行 docker-compose up -d 即可配置完成。

添加反向代理

目标url填写:http://127.0.0.1:你的端口号,如果使用的是本文的docker compose文件没有改端口号的话,应该填写:http://127.0.0.1:3000

设置信息

进入之后umami默认的用户名为admin,默认密码为umami。进入之后我们先改一下语言。

添加网站

进入设置->点击添加你需要统计的网站网站

设置一个名字和添加地址,地址可选https头

在您的网站中插入您的代码

我们将统计代码插入到head中比较好。 点击网站的“编辑”

选择“跟踪代码”我们就可以看到html代码了。插入到全局或者你想要的页面即可。

如果您的网站后台(博客主题模板)支持全局或者自定义插入,建议使用网站自带的。

1Panel面板篇

进入到您1panel管理面板后台,依次点击,应用商店,右上角搜索,umami,点击安装,设置好你需要的端口和是否开启外网访问。

配置域名和反向代理

如果你需要配置域名访问,和反向代理就需要在右边设置栏目,网站,创建,选择反向代理,填写你需要的域名,下面的代理地址一般填写127.0.0.1:3000(你修改的端口号),点击确认

最后(可以选择开启https,ssl证书)用创建的网站访问,就可以了,上面宝塔的后续步骤即可。

由于百度统计使用 unload 导致浏览器错误和性能问题,加之广告拦截普遍屏蔽其代码,数据采集变得不可靠。为了提升数据准确性并保护访客隐私,我们决定转向自行部署 Umami。

在部署过程中,特别是在国内环境下通过 Docker 拉取镜像时,尝试了多种加速方案仍不奏效,最终发现现有教程推荐的镜像地址并非 Docker Hub 的标准地址。基于这些经验,我整理了一份优化后的 docker-compose.yml 配置建议,为遇到类似问题的朋友提供更稳定的部署路径。

宝塔面板篇

在需要放入umami信息的文件夹建立docker-compose.yaml文件,填写下面的内容:

version: '3'
services:
  umami:
    container_name: umami
    image: umamisoftware/umami:postgresql-latest
    ports:
      - "3000:3000"
    environment:
      DATABASE_URL: postgresql://umami:umami@db:5432/umami
      DATABASE_TYPE: postgresql
      HASH_SALT: replace-me-with-a-random-string
    depends_on:
      - db
    restart: always
  db:
    container_name: umami-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

注意,umami的ports中,3000:3000可以将前面的3000更换成其他闲置端口。

然后通过ssh访问服务器后,cd进这个文件夹,然后执行 docker-compose up -d 即可配置完成。

添加反向代理

目标url填写:http://127.0.0.1:你的端口号,如果使用的是本文的docker compose文件没有改端口号的话,应该填写:http://127.0.0.1:3000

设置信息

进入之后umami默认的用户名为admin,默认密码为umami。进入之后我们先改一下语言。

添加网站

进入设置->点击添加你需要统计的网站网站

设置一个名字和添加地址,地址可选https头

在您的网站中插入您的代码

我们将统计代码插入到head中比较好。 点击网站的“编辑”

选择“跟踪代码”我们就可以看到html代码了。插入到全局或者你想要的页面即可。

如果您的网站后台(博客主题模板)支持全局或者自定义插入,建议使用网站自带的。

1Panel面板篇

进入到您1panel管理面板后台,依次点击,应用商店,右上角搜索,umami,点击安装,设置好你需要的端口和是否开启外网访问。

配置域名和反向代理

如果你需要配置域名访问,和反向代理就需要在右边设置栏目,网站,创建,选择反向代理,填写你需要的域名,下面的代理地址一般填写127.0.0.1:3000(你修改的端口号),点击确认

最后(可以选择开启https,ssl证书)用创建的网站访问,就可以了,上面宝塔的后续步骤即可。

教程来源 https://blog.zhheo.com/p/61e9.html

https://www.naigou.cn/714.html

2
0