跳到正文
返回文章

部署与配置matomo

JACIN5 分钟阅读服务器与部署
部署与配置matomo
AI 摘要展开 / 收起这份记录聚焦于用 Docker Compose 自托管部署 Matomo,并将 MySQL 8.2 作为独立数据库服务接入,适合作为个人站点或小型站点接入访问统计前的配置清单。正文先给出 MySQL 容器的 compos…

这份记录聚焦于用 Docker Compose 自托管部署 Matomo,并将 MySQL 8.2 作为独立数据库服务接入,适合作为个人站点或小型站点接入访问统计前的配置清单。正文先给出 MySQL 容器的 compose 配置,包括镜像版本、容器名、自动重启、3306 端口映射、初始化数据库与用户密码、宿主机数据卷挂载,以及加入外部 Docker 网络的方式,并明确需要先通过 docker network create 创建 mynetwork。随后单独部署 Matomo 容器,配置 58733 到 80 的端口映射、matomo_data 数据卷、数据库主机名指向 MySQL 容器名,以及数据库用户名、密码和库名等连接参数。文章还记录了运行后的资源观察:访问量上升时 Matomo 和 MySQL 的内存占用会增长,MySQL 预留约 500MB 内存是必要的,因此部署前需要考虑服务器余量。相关配置部分补充了 trusted_hosts 的处理方式,既可以通过 docker exec 追加 config.ini.php 并重启容器,也可以进入 Matomo 界面配置域名。最后还涉及隐私与安全设置,包括访客 IP 显示/隐藏选项,以及因安全原因到数据库查询 matomo_user、修改用户名和邮箱、删除匿名用户等后续处理。

目录#

[[toc]]

安装#

docker-compose.yml

先安装 mysql:

python
version: '3.8'

services:
  mysql:
    image: mysql:8.2.0  # 使用 MySQL 8.2.0 镜像
    container_name: my-mysql  # 设置容器名称
    restart: always  # 设置自动重启(崩溃或重启服务器时自动启动)
    ports:
      - "3306:3306"  # 映射 MySQL 端口
    environment:
      MYSQL_ROOT_PASSWORD: password  # MySQL root 用户的密码
      MYSQL_DATABASE: mydatabase  # 默认数据库名称
      MYSQL_USER: user  # 新建的 MySQL 用户名
      MYSQL_PASSWORD: password  # 新建的 MySQL 用户密码
    volumes:
      - /home/ubuntu/data/mysql:/var/lib/mysql  # 数据存储到宿主机
    networks:
      - mynetwork  # 连接到 `mynetwork` 网络

networks:
  mynetwork:
    external: true

创建网络:

python
docker network create mynetwork

安装matomo

python
version: '3.8'

services:
  matomo:
    image: matomo:latest
    container_name: my-matomo
    restart: always
    ports:
      - "58733:80"   # 访问 Matomo 的端口
    environment:
      MATOMO_DATABASE_HOST: my-mysql                # MySQL 容器名
      MATOMO_DATABASE_USERNAME: root          # 你已有的用户
      MATOMO_DATABASE_PASSWORD: passs
      MATOMO_DATABASE_DBNAME: matomo                # 新建的数据库名
    volumes:
      - matomo_data:/var/www/html
    networks:
      - mynetwork

volumes:
  matomo_data:

networks:
  mynetwork:
    external: true

看了使用量:

网站访问大了 ,这个内存会越来越大,mysql 500mb是必要的,pg 倒是比他低点。

python
a2d1c10ded9c   my-matomo       0.06%     379MiB / 1.929GiB     19.18%    27.8MB / 32.2MB   205MB / 80.6MB    11

相关配置#

配置跨域 ,域名信息:

或者进入界面后进行配置

python
docker exec -it my-matomo sh -lc 'printf "\n[General]\ntrusted_hosts[] = \"da.jacin.me\"\n" >> /var/www/html/config/config.ini.php'

docker restart my-matomo

或如下图配置:

显示 Ip 信息

显示全 Ip 信息

不勾选: 隐藏访客的 IP 地址

因为一些安全问题,需要去数据库修改用户名及邮箱,并删除匿名用户

python
select * from  matomo.matomo_user

评论

还没有评论,来发第一个吧