使用 Docker Compose 来安装Uptime Kuma(推荐)
在目录下 /opt 下创建一个 uptime-kuma文件夹,再在uptime-kuma 文件夹下创建 docker-compose.yml 文件,复制以下内容到文件,保存
services:
mysql:
image: mysql:8.0
container_name: kuma-mysql
restart: unless-stopped
environment:
# MySQL user credentials
- MYSQL_ROOT_PASSWORD=Xjt6ieiQx3LWwAzc6W7iBCNHWgikrcRekwzX
- MYSQL_DATABASE=uptime_kuma
- MYSQL_USER=uptime_kuma
- MYSQL_PASSWORD=Xjt6ieiQx3LWwAzc6W7iBCNHWgikrcRekwzX
ports:
- "3306:3306"
volumes:
- mysql_data:/var/lib/mysql
# 确保路径 './mysql/conf.d' 存在且包含有效的配置文件
- ./mysql/conf.d:/etc/mysql/conf.d:ro
command:
# CRITICAL FIX: 必须将连字符 '-' 更改为下划线 '_',否则 MySQL 8.4 会拒绝该变量并启动失败。
- --default_authentication_plugin=mysql_native_password
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_unicode_ci
uptime-kuma:
image: louislam/uptime-kuma:2
container_name: uptime-kuma
restart: unless-stopped
ports:
- "3001:3001"
volumes:
- kuma_data:/app/data
environment:
- DB_TYPE=mysql
- DB_HOST=mysql
- DB_PORT=3306
- DB_NAME=uptime_kuma
- DB_USER=uptime_kuma
# 确保密码一致
- DB_PASSWORD=Xjt6ieiQx3LWwAzc6W7iBCNHWgikrcRekwzX
depends_on:
- mysql
volumes:
# YAML SYNTAX FIX: 确保这里的缩进(通常是 2 个空格)与顶层键(如 services)对齐,并且每个卷名后面紧跟一个冒号和空格或换行。
mysql_data:
kuma_data:
启动容器
在包含 docker-compose.yml 文件的目录下,执行启动命令:
docker compose up -d
二、使用 Docker 安装 Uptime Kuma
这是使用 Docker 安装 Uptime Kuma 的更快、更干净的方法。
步骤1:安装Docker
在您的服务器上安装 Docker:
curl -fsSL https://get.docker.com | bash
验证 Docker 是否已安装:
docker --version
如果显示版本号,则表示 Docker 已可以使用。
步骤2:运行Uptime Kuma容器
使用以下命令拉取并运行 Docker 容器:
docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:2
现在打开浏览器并转到:
http://IP地址:3001
您将看到初始设置屏幕,您可以在其中设置管理员用户名和密码。

MySQL设置
方法一:使用 Docker 容器创建 MySQL
这是最快、最简洁的方式,可以避免复杂的系统依赖问题。
步骤 1:拉取并运行 MySQL 容器
在您的服务器上执行以下命令,启动一个名为 kuma-mysql 的 MySQL 容器。
docker run --name kuma-mysql -e MYSQL_ROOT_PASSWORD=Xjt6ieiQx3LWwAzc6W7iBCNHWgikrcRekwzX -e MYSQL_DATABASE=uptime_kuma -e MYSQL_USER=uptime_kuma -e MYSQL_PASSWORD=Xjt6ieiQx3LWwAzc6W7iBCNHWgikrcRekwzX -p 3306:3306 -d mysql:8.4
关键信息回顾
| 变量 | 值 | Uptime Kuma 填写位置 |
MYSQL_USER | uptime_kuma | 用户名 (Username) |
MYSQL_PASSWORD | Xjt6ieiQx3LWwAzc6W7iBCNHWgikrcRekwzX | 密码 (Password) |
MYSQL_DATABASE | uptime_kuma | 数据库 (Database Name) |
| 主机名/IP | 运行 Docker 的服务器 IP | 主机名 (Hostname) |
步骤 2:获取连接信息
容器启动后,您的外部 MySQL 数据库就创建好了,连接信息如下:
- 主机名/IP: mysql(如果 Uptime Kuma 也在同一台服务器上,可以使用:mysql、服务器 IP 、
127.0.0.1或localhost)。 - 端口:
3306 - 用户名:
uptime_kuma - 密码:
Xjt6ieiQx3LWwAzc6W7iBCNHWgikrcRekwzX - 数据库名:
uptime_kuma