侧边栏壁纸
博主头像
可乐没气的猫博主等级

四分之一的职业法师|二次元的分享家

  • 累计撰写 12 篇文章
  • 累计创建 6 个标签
  • 累计收到 19 条评论

目 录CONTENT

文章目录

20220303 Docker安装Umami、Uptime、Ward

可乐没气的猫
2022-03-03 / 0 评论 / 2 点赞 / 3,486 阅读 / 3,746 字

前言

上篇文章已经介绍过20220228 Docker安装Halo、Nginx、Wiz,那肯定要配合监控对自己的博客添加详细的探针,本篇文章将详细介绍下这些好用的docker监控。

本站目前采用的实例站点
猫の实验室
猫の服务器
猫の站点统计

Umami安装教程

Umami简介

Umami 是一个简单的网站统计工具,可以代替 Google Analytics
使用nodejs编写,需要配合 MySQL 或 Postgresql
使用起来很简单,比起 Google Analytics 比较直观,对SPA单页应用也支持不错
Github:https://github.com//mikecao/umami
Demo:https://app.umami.is/share/8rmHaheU/umami.is
本篇博客效果如下:
umami

Umami docker版本安装

这边采用的是mysql作为数据库存储

docker pull mysql
docker pull ghcr.io/mikecao/umami:mysql-latest

备注:本篇文章下docker的network均复用的halongwiz网络,方便做反向代理等配置。
配置mysql

mkdir -p mysql/conf && touch mysql/conf/my.cnf
docker run -p 3306:3306 --name mysql -v /root/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=password -d --network halongwiz --restart always mysql

配置umami的mysql配置文件,否则无法登录

git clone https://github.com/mikecao/umami.git
docker cp umami/sql/schema.mysql.sql mysql:/

创建umami的database,

docker exec -it mysql bash
mysql -h localhost -u root -p
creat database umami;
#再次进入mysql容器,恢复sql备份
mysql -u root -p umami < schema.mysql.sql

使用docker-compose.yml安装
创建docker-compose.yml 文件,这里因为我主机上已经装了 MySQL 就直接用主机上的了,也是docker版本的。

version: '3'
services:
  umami:
    image: ghcr.io/mikecao/umami:mysql-latest
    network_mode: "host"
    environment:
      DATABASE_URL: mysql://username:password@localhost:3306/databasename
      DATABASE_TYPE: mysql
      HASH_SALT: replace-me-with-a-random-string
    restart: always
    container_name: umami
networks:
  default:
    external:
      name: halongwiz

将 DATABASE_URL 内的 username等 替换为对应的数据库配置,将 HASH_SALT 后的内容替换为你自己定义的内容。
配置完成后保存关闭文件在终端执行

docker-compose up -d

umami默认运行在主机ip:3000上,腾讯云服务器防火墙放行3000端口,由于我后面会使用反向代理进行配置,就不放行3000端口了。通过域名登录配置,默认账号:admin,默认密码:umami。

反向代理nginx配置

server {
    listen      80;
    server_name umami.findmyfun.xyz;
    return 301 https://$server_name$request_uri;
}
server {
    listen       443 ssl;
    server_name  umami.findmyfun.xyz;
    ...
    client_max_body_size 1024m;
    location / {
           proxy_pass http://umami:3000;
           proxy_set_header HOST $host;
           proxy_set_header X-Forwarded-Proto $scheme;
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

Uptime安装教程

Uptime简介

uptime-kuma可以用来监控我们自己的网站的运行状态。
Github:https://github.com/louislam/uptime-kuma

本篇博客效果如下:
uptime

uptime docker安装

docker run \
-d \
--name uptime \
-p 3001:3001 \
-v ~/uptime:/app/data \
--network halonginx \
--restart=always \
louislam/uptime-kuma

反向代理nginx配置

server {
    listen      80;
    server_name uptime.findmyfun.xyz;
    return 301 https://$server_name$request_uri;
}
server {
    listen       443 ssl;
    server_name  uptime.findmyfun.xyz;  
    ... 
    client_max_body_size 1024m;
    location / {
           proxy_pass http://uptime:3001;
           proxy_set_header HOST $host;
           proxy_set_header X-Forwarded-Proto $scheme;
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

管理后台地址

Uptime管理后台,配置相应的账号密码即可进行设置,参照Uptime Kuma 自建网站状态监控服务进行设置即可。

Ward安装教程(适合单台服务器)

Ward简介

Ward 是一个使用 Java 开发的简单而简约的服务器监控工具。Ward 支持自适应设计系统,它还支持深色主题,它只显示服务器的主要信息。Ward 在所有流行的操作系统上运行良好,因为它使用 OSHI。

Github:https://github.com/B-Software/Ward
本篇博客效果如下:
ward

Ward docker安装

首先通过SSH登陆服务器,在~目录下拉取Ward源代码

git clone https://github.com/B-Software/Ward.git
cd Ward
docker build . --tag ward

等构建镜像完成之后,直接运行:

docker run -d --name ward -p 4000:4000 \
-p 自定义端口号:自定义端口号 \
--privileged=true \
--network halongwiz \
--restart always \
ward:latest

注意事项:
-p 4000:4000为对外配置端口,IP:4000进入配置页面。
-p 自定义端口号:自定义端口号为对外工作端口,我用的是3002

ward配置
Server Name随便填,我用的是博客名;Application Port要填写成刚刚创建Docker容器时的自定义端口号3002,点击LAUNCH按钮即可完成基本设置。

反向代理nginx配置

server {
    listen      80;
    server_name ward.findmyfun.xyz;
    return 301 https://$server_name$request_uri;
}
server {
    listen       443 ssl;
    server_name  ward.findmyfun.xyz;   
    ...   
    client_max_body_size 1024m;
    location / {
           proxy_pass http://ward:3002;
           proxy_set_header HOST $host;
           proxy_set_header X-Forwarded-Proto $scheme;
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

备注:2023最新ward 官方的仓库不再支持docker构建,可以采用这个克隆地址 https://github.com/AntonyLeons/Ward进行构建。

结语

这次使用Docker部署Umami、Uptime及Ward教程就是这么多了,三个容器来监控自己的服务器和博客is enough,通过Nginx对其他容器进行反向代理,就酱~~~ Enjoy it!!!

参考博客

1、【好玩的Docker项目】搭建一个小而美的网站流量监控——Umami

2

评论区