用小鸡监控小鸡!在Ubuntu使用Docker安装Uptime Kuma

在Ubuntu使用Docker安装Uptime Kuma

Uptime Kuma是一款易于使用的自托管监控工具,提供了监控各种服务的可用性、通知、多语言支持、多个状态页面等功能。

本教程以Ubuntu 22.04上使用Docker安装Uptime Kuma为例。

类似步骤应该也可以用于Debian系统。

同类教程网上一大把,下面是综合多个教程和文档的总结笔记。

条件

在开始安装过程之前,确保你对Ubuntu服务器具有root或sudo访问权限。

步骤1:更新系统并安装必需软件

首先,更新系统并安装必要的软件,如git和Nginx。完成后重新启动服务器。

sudo apt update
sudo apt upgrade
sudo reboot

# 重启之后
sudo apt install nginx git

步骤2:安装Docker

在新主机上首次安装Docker Engine之前,你需要设置Docker仓库。然后,你可以从仓库安装和更新Docker。

设置仓库

更新apt软件包索引并安装允许apt使用HTTPS仓库的软件包:

sudo apt-get update
sudo apt-get install ca-certificates curl gnupg

添加Docker的官方GPG密钥:

sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

使用以下命令设置仓库:

echo \
"deb [arch=\"$(dpkg --print-architecture)\" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
\"$(. /etc/os-release && echo \"$VERSION_CODENAME\")\" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

安装Docker Engine

更新apt软件包索引:

sudo apt-get update

要安装最新版本,请运行:

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

步骤3:创建Docker卷目录

创建一个目录来存储你的Docker卷:

mkdir -p /docker-volume
mkdir -p /docker-volume/uptime-kuma
mkdir -p /opt/uptime-kuma

到uptime-kuma目录并创建一个docker-compose文件:

cd /opt/uptime-kuma

使用以下详细信息创建一个docker-compose.yml文件。此配置将使用端口8001进行外部访问,并在服务器关闭或崩溃时自动重新启动服务。这里边的Docker卷将添加到之前创建的目录(/docker-volume/uptime-kuma)。

---
# Simple docker-compose.yml
# You can change your port or volume location

version: '3.3'

services:
  uptime-kuma:
    image: louislam/uptime-kuma:1
    container_name: uptime-kuma
    volumes:
      - ./uptime-kuma-data:/app/data
    ports:
      - 3001:3001  # <Host 端口>:<Container 端口>
    restart: always

运行Docker compose创建容器:

docker-compose up -d

步骤4:配置Nginx

使用“Nginx Full” UFW应用程序配置文件允许对端口80和443(HTTP和HTTPS)的公共流量:

sudo ufw allow 80
sudo ufw allow 443

/etc/nginx/sites-available/uptime-kuma.conf文件中替换example.com为你的玉米,将uptime_kuma配置添加到Nginx代理中:

sudo vi /etc/nginx/sites-available/uptime-kuma.conf

将以下配置添加到文件:

server  {
    listen 80;
    server_name    example.com; # 改成你的玉米
    location / {
        proxy_pass         http://localhost:8001;
        proxy_http_version 1.1;
        proxy_set_header   Upgrade $http_upgrade;
        proxy_set_header   Connection "upgrade";
        proxy_set_header   Host $host;
    }
}

创建到sites-enabled的链接激活站点。

然后,检查配置是否正确并重新加载Nginx以应用设置:

sudo ln -s /etc/nginx/sites-available/uptime-kuma.conf /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

步骤5:安装Certbot

CertBot将为我们的域生成证书。

Nginx使用证书和端口443。

sudo apt install certbot python3-certbot-nginx

生成Let’s Encrypt证书并在uptime-kuma.conf文件中修改Nginx配置:

sudo certbot --nginx -d 你的玉米

至此,你就成功搭建属于你自己的小鸡监控系统了。