新年到,祝大家兔年吉祥!🎉

1.介绍

umami是一个开源的站点访问量监看程序,其支持docker部署到自己的服务器上。相比较百度等收费的网站信息监看,这种方式对于小站长来说更加实惠一些

2.docker安装的坑

2.1 docker-compose

以下是官方提供的yml文件,我只是将数据库docker的名字改成了umi-db,将3000端口映射给了本机的3010端口

version: '3'
services:
  umami:
    image: ghcr.io/umami-software/umami:postgresql-latest
    ports:
      - "3010:3000"
    environment:
      DATABASE_URL: postgresql://umami:umami@umi-db:5432/umami
      DATABASE_TYPE: postgresql
      HASH_SALT: adsfadsfa23421313dfabadsf32rl
    depends_on:
      - umi-db
    restart: always
  umi-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
volumes:
  umami-db-data:

写好文件后,使用docker-compose up -d命令,运行镜像。过一会再使用docker-compose ps,只要两个镜像都是正常运行状态,那就ok了

2.2 坑

这里有一个小🕳,那就是我们并不需要设置数据库的端口。在我的服务器上,5432端口已经被另外一个容器占领了,于是我就使用了下面的语法,想把数据库映射给5433端口

备注:下面的这个是错误写法,umami容器会因为连不上数据库而一直重启!

version: '3'
services:
  umami:
    image: ghcr.io/umami-software/umami:postgresql-latest
    ports:
      - "3010:3000"
    environment:
      DATABASE_URL: postgresql://umami:umami@umi-db:5433/umami
      DATABASE_TYPE: postgresql
      HASH_SALT: adsfadsfa23421313dfabadsf32rl
    depends_on:
      - umi-db
    restart: always
  umi-db:
    image: postgres:12-alpine
    environment:
      POSTGRES_DB: umami
      POSTGRES_USER: umami
      POSTGRES_PASSWORD: umami
    ports:
      - "5433:5432"
    volumes:
      - ./sql/schema.postgresql.sql:/docker-entrypoint-initdb.d/schema.postgresql.sql:ro
      - umami-db-data:/var/lib/postgresql/data
    restart: always
volumes:
  umami-db-data:

实际上并不需要这么操作,因为默认状态下,这个数据库的端口都没有映射到本机,并不会和已有的端口冲突!

DATABASE_URL: postgresql://umami:umami@umi-db:5432/umami

这里其实已经指定了,是使用umi-db容器内部的5432端口,并不是使用云服务器的5332端口,二者是不一样的。

直接使用官方原有的docker-compose文件就没问题了!

3.进入管理页面

安装完毕后,使用云服务器ip:端口的方式访问,进入后台。

默认用户名是admin,默认密码是umami,进入之后请立刻修改密码。

3.1 修改中文

点击右上角的头像,进入profile,设置语言为中文。

docker 安装dophinscheduler_docker

3.2 添加站点

随后在网站选项栏添加网站,填入你的站点url和名字

docker 安装dophinscheduler_sql_02

3.3 添加到hexo博客上

保存了之后,点击右侧的这个代码块图标,复制里面的代码

docker 安装dophinscheduler_docker_03

到本地的hexo主题文件中,找到head文件,修改<head>处的代码,加入刚刚复制的代码

keep主题文件位置 themes\keep\layout\_partial\head.ejs

重新部署博客即可,数据过几小时就会生效

3.4 添加到wikijs

wiki js的管理页面,网站分析一栏就有umami

docker 安装dophinscheduler_数据库_04

填入你部署umami的服务器url和站点id即可,圈出来的部分就是网站id,并不是你在umami里面设置的站点名字

docker 安装dophinscheduler_开源_05