Komodo部署教程:多机Docker统一管理、容器监控、自动更新

玩多台服务器、自建 Homelab 的朋友,大多都有这样的烦恼:每台机器的 Docker 容器要单独管理,监控、镜像更新、状态查看分散在不同面板里,来回切换十分麻烦。Portainer、Dockge 虽然好用,但在多机统一管控、一站式监控告警上有所欠缺。

今天给大家分享的 Komodo 就是一款专为 Homelab 打造的开源运维面板,采用主控 + 代理的架构,只需要部署一套 Core,再在各台服务器安装 Periphery 代理,就能把所有主机的 Docker 容器集中纳管。它同时集成容器监控、镜像更新检测、服务告警、部署管理能力,不用堆砌一堆监控组件,一个面板搞定多机容器运维。

本文带来完整 Docker 部署教程,从安装配置、添加多主机、监控查看、自动更新设置一步步演示,上手门槛低,适合想统一管理多台 Docker 主机的玩家。

image-20261028164202654

1.Komodo是什么?

Komodo是开源自托管、Rust编写的多服务器Docker管理 + CI/CD部署平台(GPL-3.0),定位介于Portainer/Dockge和K8s之间,适合自建服务器集群、homelab、小团队,一套面板统一管多台机器Komodo。 架构是Core + Periphery:

  • Core:中控面板、网页 UI、数据库、API;
  • Periphery:轻量代理,装在每一台被管理的服务器上,负责执行docker命令、采集监控、接收Core下发任务GitHub。

✅ 核心功能

  1. 多服务器统一监控:一台面板查看所有机器CPU、内存、磁盘,支持阈值告警、网页终端直连服务器 / 容器shell,看日志Komodo
  2. 容器 & Compose 栈管理:单容器Deployment、compose Stacks,支持Git仓库自动拉取部署(GitOps),也支持Docker Swarm集群管理Komodo
  3. 内置镜像构建:从Git仓库 / UI内Dockerfile自动打包镜像,推送到镜像仓库,支持定时构建、AWS Spot实例弹性构建
  4. 自动化流程(Procedures):编排多步骤任务,定时执行、触发执行,比如打包→推送→重新部署,自带完整操作审计日志Komodo
  5. 权限控制 RBAC:分组、细粒度资源权限,适合多人协作;自带CLI、OpenAPI,方便对接自己脚本Komodo

🆚 和其他面板区别

  • ServeDash:单主机轻量看板,主打监控、镜像更新提醒、日志,功能简单,不支持跨服务器、没有CI构建;
  • Portainer:老牌容器面板,支持多机,但CI/CD、GitOps、自动化编排弱;
  • Komodo:重点是跨服务器调度 + 自带 CI/CD+GitOps,不是单纯 “看容器状态”,可以做完整发布流水线,一台中控管几十台VPS / 机器,复杂度更高,能力更强servorbit….

✅ 优缺点

优点

  • Rust写的,占用资源低,Core空闲内存很小;
  • 原生支持 GitOps,compose配置放Git,版本管理;
  • 支持Docker Swarm,一套面板兼顾单机 compose、多机集群;
  • 加密通信,agent可以主动向外连接Core,适合内网机器、NAT环境;
  • 全量审计日志,谁什么时候改了什么、部署了什么都有记录servorbit….

缺点

  • 上手门槛比ServeDash/Dockge高,概念多(Core/Periphery/Stack/Build/Procedure);
  • 架构复杂,需要维护中控 + 每台机器agent;
  • 适合多服务器场景,只单台机器玩,会显得很重。

🧑‍💻 适合谁

自托管玩家、homelab多机党、小开发团队,不想折腾K8s,但又需要统一管理多台VPS、自动打包发布服务。搭配cpolar,把Core面板暴露外网,在外随时管理所有服务器容器和发布流水线。

📌 一句话总结

Komodo不只是一个Docker看板,它是一套自建的发布中控。一台面板接入多台服务器,既能监控容器、在线操作,还能自动拉Git代码、打包镜像、按流程自动部署,想要多机统一管理 + 简易 CI/CD,不想上K8s,它就很合适。

2.安装前提条件

2.1ssh远程连接到飞牛

  • 开启【SSH服务】
  • 使用终端(Windows PowerShell / Mac Terminal)登录:

在设置—>SSH中开启SSH服务:

463c5f2aa280d7887420494b8b8f852e

27abe7f94baeaebc1738b60b1ba78933

e16c7480a399e50f627439329422c5a7

2.2验证docker是否开启

使用命令:

docker -v
systemctl status -v

也可以直接在飞牛主页查看(其他机器也是这样的哦~)

bc2a0952beed8ca143a171bb000b2b23

3.安装Komodo

创建存放docker配置文件的文件夹:

mkdir -p /docker/Komodo
cd /docker/Komodo
vi /docker/Komodo/docker-compose.yml
services:
  mongo:
    image: mongo
    labels:
      komodo.skip: ""
    command: --quiet --wiredTigerCacheSizeGB 0.25
    restart: unless-stopped
    volumes:
      - mongo-data:/data/db
      - mongo-config:/data/configdb
    environment:
      MONGO_INITDB_ROOT_USERNAME: ${KOMODO_DATABASE_USERNAME:-admin}
      MONGO_INITDB_ROOT_PASSWORD: ${KOMODO_DATABASE_PASSWORD:-StrongPass123}

  core:
    image: ghcr.io/moghtech/komodo-core:2
    init: true
    restart: unless-stopped
    depends_on:
      - mongo
    ports:
      - 9120:9120
    env_file:
      - .env
    environment:
      KOMODO_DATABASE_ADDRESS: mongo:27017
    volumes:
      - keys:/config/keys
      - ${COMPOSE_KOMODO_BACKUPS_PATH:-/etc/komodo/backups}:/backups

  periphery:
    image: ghcr.io/moghtech/komodo-periphery:2
    init: true
    restart: unless-stopped
    depends_on:
      - core
    env_file:
      - .env
    volumes:
      - keys:/config/keys
      - /var/run/docker.sock:/var/run/docker.sock
      - /proc:/proc
      - ${PERIPHERY_ROOT_DIRECTORY:-/etc/komodo}:${PERIPHERY_ROOT_DIRECTORY:-/etc/komodo}

volumes:
  mongo-data:
  mongo-config:
  keys:

image-20261028152049098

新建compose.env(重点!改密码)

COMPOSE_KOMODO_IMAGE_TAG=2
COMPOSE_KOMODO_BACKUPS_PATH=/etc/komodo/backups

KOMODO_DATABASE_USERNAME=admin
KOMODO_DATABASE_PASSWORD=改成强密码

TZ=Asia/Shanghai

KOMODO_LOCAL_AUTH=true
KOMODO_INIT_ADMIN_USERNAME=admin
KOMODO_INIT_ADMIN_PASSWORD=改成面板密码

KOMODO_FIRST_SERVER_NAME=local-server

PERIPHERY_CONNECT_AS=local-server
PERIPHERY_ROOT_DIRECTORY=/etc/komodo

两个密码不要一样,记好面板账号密码:admin / 你设置的KOMODO_FIRST_USER_PASSWORD

image-20261028152253954

启动:

docker-compose up -d

image-20261028152347630

部署完成后,在浏览器中输入 http://飞牛IP:9120 就能看到komodo的界面:

4279443c865dfb79d3b630b28324d494

4.安装komodo

Komodo 控制面板的仪表盘页面中,服务器统计显示有 1 台健康节点,local-server 状态正常,成功连通,告警清零,代表经过调整配置后,服务端和 periphery 节点已经顺利建立连接,服务器就绪,可以正常使用部署、容器管理等相关功能了。

image-20261028161223146

Komodo 的容器管理页面,所有容器都运行在 local-server 节点上,drydock、ghostfolio 套件、Komodo 核心与 periphery、PgHero、ServeDash 等全部容器状态均为 RUNNING,说明整套服务已经正常拉起,可在面板中统一查看、管理本机上的各类 Docker 容器。

image-20261028161348910

Komodo 面板的 Terminals 终端管理页面,当前暂无已创建的终端会话,点击 New Terminal 后弹出新建终端表单,支持选择服务器、填写终端名称、自定义执行命令,可在 web 端直接在目标服务器上创建交互式终端,方便远程执行命令、排查问题,实现不用 SSH 工具就能操作服务器。

image-20261028162223121

Komodo 的系统监控 Stats 页面,当前仅一台 local-server 节点正常连通,页面汇总展示整机资源指标:CPU 使用率 9.74%、内存使用率 64.21%(1.2GB/1.9GB)、磁盘使用率 87.14%(327.3GB/375.6GB),下方配有 5 分钟粒度的历史负载、CPU、内存、磁盘趋势图表,能够直观查看服务器的资源占用变化。

image-20261028162242506

Komodo 面板的 Swarms 管理页面,页面用于管控和监控 Docker Swarm 集群,当前还没有创建任何 Swarm 集群,点击 New Swarm 后弹出新建弹窗,需要输入唯一的集群名称,填写完成后点击 Create 即可创建,适合后续编排、管理 Docker Swarm 集群服务。

image-20261028162329258

Komodo 面板的 Stacks 页面,该模块用于部署 Docker Compose 编排文件,当前暂无堆栈项目,点击 New Stack 后弹出新建窗口,需要填写唯一堆栈名称并选择目标服务器,完成信息填写后点击 Create 即可创建堆栈,后续可以导入 compose 配置来批量部署一组关联容器。

image-20261028162417172

Komodo 面板的 Deployments 部署页面,该模块用来部署独立容器与 Swarm 服务,当前暂无部署任务,点击 New Deployment 弹出新建弹窗,需要填写唯一的部署名称并选择目标服务器,填好信息后点击 Create 即可创建,适合单独发布单个容器或者 Swarm 服务。

image-20261028162516050

Komodo 面板的 Builds 页面,该模块用于构建容器镜像,当前还没有创建构建任务,点击 New Build 弹出新建窗口,需要填写唯一的构建名称并选择构建器,信息填写完成后点击 Create 即可创建构建任务,支持在线基于 Dockerfile 打包镜像。

image-20261028162537592

Komodo 面板的 Repos 页面,该模块用于配置 Git 代码仓库,当前暂无仓库记录,点击 New Repo 弹出新建弹窗,需要填写唯一的仓库名称,输入完成后点击 Create 即可创建仓库,后续可绑定 Git 地址,实现代码拉取、自动构建与部署联动。

image-20261028162557784

Komodo 面板的 Procedures 流程编排页面,用于串联调度多个 Komodo 执行任务,页面内自带三条系统预置流程:核心数据库备份、全局自动更新、服务器密钥轮换,状态均为 OK,并且设置了对应的定时执行时间,支持新建自定义流程、手动执行、标签筛选与模板过滤。

image-20261028162631082

Komodo 面板的 Alerts 告警页面,用来查看历史告警记录,列表里有两条来自 local-server 的告警,一条是内存告警 ServerMem(WARNING 警告级别,已解决),另一条是服务器不可达 ServerUnreachable(CRITICAL 严重级别,已解决),页面支持按资源类型、告警类型筛选,还可以切换只看未关闭告警与分页查看。

image-20261028162649205

Komodo 面板的 Updates 页面,用于查看资源变更历史记录,列表展示了服务器、流程、构建器等资源的操作记录,包含创建服务器、创建流程、创建构建器、更新服务器等操作,所有执行结果均为 SUCCESS,操作人分为 admin 和 System,附带操作起始时间,支持按资源类型、操作类型筛选和分页查看。

image-20261028162704691

Komodo 面板的 Schedules 定时任务页面,用于统一查看所有定时执行的动作与流程,列表包含三条系统预置任务:核心数据库备份(每日 01:00)、全局自动更新(每日 03:00)、服务器密钥轮换(每日 06:00),全部处于启用状态,标注 system 标签,同时展示了下次执行时间,支持标签筛选与搜索。

image-20261028162747442

Komodo 设置里的 Onboarding 主机接入密钥页面,用于管理服务器接入密钥,页面顶部展示 Komodo 公钥,列表内有 3 条接入密钥,支持配置模板、标签、特权权限、是否自动创建构建器,全部为启用状态且都设置了过期时间,右上角支持新建接入密钥。

image-20261028162804366

Komodo 是一款轻量开源的服务器编排与自动化运维平台,搭配 cpolar 内网穿透可以把本地内网里的 Komodo 管理面板安全暴露到公网,无需公网 IP、不用配置路由器端口映射,在外网就能随时访问、管理服务器、查看告警、执行定时备份与自动更新流程,同时 cpolar 支持自定义域名、鉴权保护,兼顾远程运维便捷性与访问安全。

5.安装cpolar实现随时随地开发

5.1 什么是cpolar?

cpolar是一款安全高效的内网穿透工具,无需公网IP或复杂配置,只需一条命令,即可将本地服务器、Web服务或任意端口映射到公网,让你随时随地远程访问内网应用,特别适合开发调试、远程运维和应急部署等场景。

5.2 部署cpolar

cpolar可以将你本地电脑中的服务(如SSH、Web、数据库)映射到公网。即使你在家里或外出时,也可以通过公网地址连接回本地运行的开发环境。

❤️以下是安装cpolar步骤:

官网在此:https://www.cpolar.com

使用一键脚本安装命令:

sudo curl https://get.cpolar.sh | sh

image-20250725104019896

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)

sudo systemctl status cpolar

22e5adfaf290a17fc3384bb296055259

Cpolar安装和成功启动服务后,在浏览器上输入虚拟机主机IP加9200端口即:【http://ip:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:

打开浏览器访问本地9200端口,使用cpolar账户密码登录即可,登录后即可对隧道进行管理。

8a6698b1bf26d64ba3645827fbfb1c29

6.配置公网地址

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,本例使用了:Komodo,注意不要与已有的隧道名称重复
  • 协议:http
  • 本地地址:9120
  • 域名类型:随机域名
  • 地区:选择China Top

image-20261028163152514

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了公网地址,接下来就可以在其他电脑或者移动端设备(异地)上,使用地址访问。

image-20261028163202157

访问成功。

image-20261028163217809

7.保留固定公网地址

使用cpolar为其配置二级子域名(cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站),该地址为固定地址,不会随机变化。

image-20250918151358733

点击左侧的预留,选择保留二级子域名,地区选择china Top,然后设置一个二级子域名名称,我使用的是Komodo,大家可以自定义。填写备注信息,点击保留。

image-20261028163730876

登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑。

image-20261028163945746

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名
  • 地区: China Top

点击更新

image-20261028164013722

更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。

image-20261028164031773

最后,我们使用固定的公网地址在任意设备的浏览器中访问,可以看到成功访问的页面,这样一个永久不会变化的二级子域名公网网址即设置好了。

image-20261028164051781

总结

本文为 Komodo 完整部署教程,基于 Core+Periphery 架构,实现多台主机 Docker 统一纳管,支持容器、堆栈、Swarm 集群管理、资源监控与告警、浏览器终端、镜像自动更新,还可配置 Procedures 流程与定时任务,完成数据库备份、密钥轮换等自动化运维;搭配 cpolar 内网穿透,无需公网 IP 即可在外网安全访问 Komodo 面板,一站式完成多机容器运维、监控告警与自动化调度。

感谢您对本篇文章的喜爱,有任何问题欢迎留言交流。cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站

Share:

发表回复

目录

On Key

推荐文章