Komari Monitor Docker 部署指南

Komari Monitor

项目介绍

Komari 是一个轻量级的自托管服务器监控工具,旨在帮助用户高效监控服务器资源。它使用 Gin + Go 构建后端,内存占用低至 30MB,结合 React 构建的现代化 Web 界面,支持自定义主题。Komari 提供完全的自主控制,数据无需依赖第三方服务,适合需要高隐私性和灵活性的用户。

优势

  • 轻量化:后端基于 Gin+Go,内存占用仅约 30MB。
  • 自托管:无需第三方服务,用户拥有完全的数据控制权和所有权。
  • 现代化界面:React 构建的 Web 界面,支持自定义主题。
  • 开源:项目在 GitHub 上以 MIT 协议开源,代码透明可信。
  • 功能丰富:支持服务器监控、自动添加、远程控制、访问管理和一键部署。

支持功能

  • 实时服务器监控
  • 自动添加服务器
  • 远程控制
  • 访问权限管理
  • 一键部署(支持 Docker 和脚本安装)

前提条件

  • Docker:确保系统已安装 Docker(安装 Docker)。
  • Docker Compose:确保已安装 Docker Compose(通常随 Docker Desktop 提供)。
  • 存储目录:确保主机上存在 /docker-volumes/komari/data 目录用于持久化数据。
  • 网络:确保端口 25774 未被占用。

部署方式

Komari 支持通过 docker-composedocker run 命令进行部署,以下分别介绍两种方式。

使用 Docker Compose 部署

  1. Docker Compose 配置

    创建以下内容的 docker-compose.yml 文件:

    version: "3.8"
    services:
      komari-monitor:
        image: ghcr.io/komari-monitor/komari:latest
        container_name: komari-monitor
        volumes:
          - /docker-volumes/komari/data:/app/data
        ports:
          - "25774:25774"
        restart: unless-stopped
    

    配置说明

    • version:Docker Compose 文件格式版本(3.8)。
    • image:从 GitHub 容器注册表拉取 ghcr.io/komari-monitor/komari:latest 镜像。
    • container_name:容器命名为 komari-monitor
    • volumes:将主机目录 /docker-volumes/komari/data 映射到容器内 /app/data
    • ports:映射主机端口 25774 到容器内端口 25774
    • restart:容器除非手动停止,否则自动重启。
  2. 初始设置

    • 创建数据目录:
      mkdir -p /docker-volumes/komari/data
      
    • 保存 docker-compose.yml 到工作目录。
    • 验证 Docker 环境:
      docker --version
      docker-compose --version
      
  3. 启动容器
    docker-compose.yml 所在目录运行:

    docker-compose up -d
    

使用 Docker Run 命令部署

  1. 运行命令
    执行以下命令一键部署 Komari:

    docker run -d \
      -p 25774:25774 \
      -v /docker-volumes/komari/data:/app/data \
      --name komari \
      --restart unless-stopped \
      ghcr.io/komari-monitor/komari:latest
    

    命令说明

    • -d:后台运行容器。
    • -p 25774:25774:映射主机端口 25774 到容器端口 25774
    • -v /docker-volumes/komari/data:/app/data:持久化数据目录。
    • --name komari:容器命名为 komari
    • --restart unless-stopped:自动重启策略。
    • ghcr.io/komari-monitor/komari:latest:指定镜像。
  2. 初始设置

    • 创建数据目录:
      mkdir -p /docker-volumes/komari/data
      
    • 确保 Docker 已安装:
      docker --version
      

验证容器运行

检查容器状态:

docker ps

确认 komari-monitor(或 komari)容器状态为“Up”。

访问服务

通过浏览器访问 http://localhost:25774 或主机 IP 地址的 25774 端口。

查询初始密码

首次启动后,查看容器日志以获取初始账户和密码:

docker logs komari-monitor

如果丢失密码,可进入容器终端重置:

docker exec -it komari-monitor ./komari chpasswd -p <新密码>

停止容器

  • Docker Compose
    docker-compose down
    
  • Docker Run
    docker stop komari && docker rm komari
    

数据将保留在 /docker-volumes/komari/data

反向代理(可选)

若需通过域名访问服务,可设置反向代理(以 1Panel 为例):

  1. 在 1Panel 安装 OpenResty。
  2. 新建反向代理,设置域名并将代理地址设为 127.0.0.1:25774
  3. 若使用 CDN,需删除 add_header Cache-Control no-cache; 以启用缓存。
  4. 在域名服务商处配置 DNS 记录。

添加服务器

  1. 自动添加
    在 Komari 后台设置自动添加密钥,然后运行以下命令(替换域名和密钥):

    • Linux:
      bash <(curl -sL https://raw.githubusercontent.com/komari-monitor/komari-agent/refs/heads/main/install.sh) -e https://<你的域名> --auto-discovery <你的密钥> --disable-web-ssh --memory-mode-available
      
    • Windows:
      powershell.exe -NoProfile -ExecutionPolicy Bypass -Command "iwr 'https://raw.githubusercontent.com/komari-monitor/komari-agent/refs/heads/main/install.ps1' -UseBasicParsing -OutFile 'install.ps1'; & '.\install.ps1' '-e' 'https://<你的域名>' '--auto-discovery' '<你的密钥>' '--disable-web-ssh' '--memory-mode-available'"
      
  2. 手动添加
    在 Komari Web 界面手动创建服务器并使用一键复制功能添加。

故障排除

  • 容器未启动:查看日志:
    docker logs komari-monitor
    
  • 端口冲突:确保 25774 端口未被占用。
  • 镜像拉取失败:检查网络连接和 ghcr.io 访问权限。

其他说明

  • 数据持久化目录 /docker-volumes/komari/data 需确保读写权限。
  • 若使用 CDN,确保启用 WebSocket 支持(如 Cloudflare 或 EdgeOne)。
  • 更多帮助请访问 官方文档 或加入官方 Telegram 群组。