iSrvd
开源 · Apache 2.0 Go 1.24+ · Vue 3

轻量级运维管理面板

基于 Go + Vue 3 构建的轻量级运维面板,集成文件管理、Docker 容器编排、APISIX/Caddy 网关配置、Web 终端、SSH 远程管理、GPU 监控、计划任务与 AI 助手,为个人服务器与中小型团队提供一站式管理体验。

it is a server daemon isrvd = /srv + daemon | 发音:/ˈaɪ sɜːrvd/ "I served"(爱服务)
腾讯云开发者先锋(TDP)成员 若海 主导开发
特别感谢 没猫饼hugominti 的代码贡献与测试支持

功能特性

模块化设计,按需使用

系统概览

CPU、内存、磁盘、网络、GPU 实时监控,服务探测,在线升级

文件管理

浏览、上传、下载、编辑、创建/删除目录、重命名、权限修改、压缩/解压

Web 终端

基于 xterm.js 的 Shell 与容器终端,支持多会话

SSH 远程管理

通过 SSH 协议管理主机,支持密码与私钥认证

AI 助手

内置 Agent,支持自然语言操作,兼容 OpenAI API

计划任务

定时任务调度,支持 Shell/BAT/PowerShell/Docker 执行模式,执行历史查看

APISIX 网关

路由、Consumer、上游、SSL 证书、插件配置、插件列表、白名单管理

Caddy 代理

路由、TLS 证书、全局选项管理,支持原始配置编辑与自动 HTTPS

Docker 管理

容器、镜像、网络、卷、镜像仓库管理,容器日志(实时流式)、资源统计、终端接入、镜像构建/推送/拉取

Swarm 集群

集群、节点、服务、任务管理

Compose 部署

文件编辑、Docker Compose / Swarm Stack 部署与重部署

成员管理

多用户、家目录隔离、模块权限控制、API 令牌管理

OIDC 认证

集成 OpenID Connect,支持企业级单点登录

系统管理

配置管理、操作审计日志

响应式设计 适配桌面与移动端 | 内置 Agent 模式,兼容 OpenAI API

技术栈

现代化技术选型

Go 1.24+

后端

Gin

Web 框架

golang-jwt

JWT 认证

Vue 3 + TypeScript

前端框架

Pinia

状态管理

Tailwind CSS

样式

xterm.js

终端

Docker / APISIX / Caddy

容器 / 网关

OpenAI API 兼容

AI 助手

快速开始

三种方式,即刻体验(支持 Docker Hub 与 CNB 镜像仓库)

提供三个镜像版本,按需求选择

bash — 创建网络复制
# 本地通信
docker network create --driver=bridge sdnet

# 跨主机通信
docker network create --driver=overlay --attachable sdnet

根据实际网络环境选择,将容器加入该网络

默认

slim — 仅含 isrvd 本体

体积最小,适合文件管理、Docker/Swarm/Compose、计划任务等功能

bash复制
docker run -d \
  --name isrvd \
  --network sdnet \
  -p 8080:8080 \
  -v /srv/data:/data \
  -v /var/run/docker.sock:/var/run/docker.sock \
  rehiy/isrvd:slim

首次启动自动生成随机密码,通过 docker logs isrvd 查看

CNB 镜像:docker.cnb.cool/rehiy/isrvd:slim

集成 APISIX

apisix — 集成 API 网关

适合已使用 APISIX 作为 API 网关的场景

bash复制
docker run -d \
  --name isrvd \
  --network sdnet \
  -p 8080:8080 \
  -p 80:9080 \
  -p 443:9443 \
  -v /srv/data:/data \
  -v /var/run/docker.sock:/var/run/docker.sock \
  rehiy/isrvd:apisix

CNB 镜像:docker.cnb.cool/rehiy/isrvd:apisix

集成 Caddy

caddy — 集成反向代理与 TLS

适合需要反向代理、自动 HTTPS(ACME)或统一网关管理的场景

bash复制
docker run -d \
  --name isrvd \
  --network sdnet \
  -p 8080:8080 \
  -p 80:80 \
  -p 443:443 \
  -v /srv/data:/data \
  -v /var/run/docker.sock:/var/run/docker.sock \
  rehiy/isrvd:caddy

CNB 镜像:docker.cnb.cool/rehiy/isrvd:caddy

Caddy 默认仅监听 :80,关闭自动 HTTPS 跳转;如需 HTTPS,在「Caddy → 全局选项」中开启

镜像版本 端口 8080
isrvd Web 管理
端口 80
HTTP 服务
端口 443
HTTPS 服务
slim ✓ isrvd Web
apisix ✓ isrvd Web APISIX HTTP (9080) APISIX HTTPS (9443)
caddy ✓ isrvd Web Caddy HTTP (80) Caddy HTTPS (443)

说明:所有版本均提供 Web 管理界面(端口 8080),集成 API 网关的版本额外暴露 HTTP/HTTPS 端口

适用于无 Docker 环境,直接运行二进制文件

安装目录:/usr/local/isrvd/,限制:无法通过容器内网访问其它容器

支持 etcd 配置存储,value 为 YAML 格式,便于与 config.yml 互迁

bash复制
# 一键安装
bash <(curl -sL https://jscdn.rehi.org/gh/rehiy/isrvd/build/script/isrvd.sh) install

# 更新
bash <(curl -sL https://jscdn.rehi.org/gh/rehiy/isrvd/build/script/isrvd.sh) update

# 卸载
bash <(curl -sL https://jscdn.rehi.org/gh/rehiy/isrvd/build/script/isrvd.sh) uninstall

# 仅下载
bash <(curl -sL https://jscdn.rehi.org/gh/rehiy/isrvd/build/script/isrvd.sh) download
bash — 直接运行复制
# 默认读取 ./config.yml
./isrvd

# 本地 YAML
CONFIG_PATH=/data/conf/isrvd.yml ./isrvd

# etcd 配置(value 为 YAML 格式)
CONFIG_PATH="etcd://user:[email protected]:2379/isrvd/config?scheme=http&timeout=5s" ./isrvd

# etcd key 不存在时,用 fallback YAML 初始化并写入 etcd
CONFIG_PATH="etcd://127.0.0.1:2379/isrvd/config?fallback=/data/conf/isrvd.yml" ./isrvd

etcd 认证可省略或用 ETCD_USERNAME / ETCD_PASSWORD 补充

使用 Docker Compose 管理容器生命周期

docker-compose.yml复制
networks:
  sdnet:
    driver: bridge

services:
  isrvd:
    image: rehiy/isrvd:slim
    container_name: isrvd
    restart: unless-stopped
    networks:
     - sdnet
    ports:
     - "8080:8080"
    volumes:
     - /srv/data:/data
     - /var/run/docker.sock:/var/run/docker.sock

注意:请始终挂载整个 /data 目录,避免容器重建时数据丢失

CNB 镜像:docker.cnb.cool/rehiy/isrvd:slim

CNB 镜像仓库

CNB 流水线同步推送,国内访问更快速

镜像路径格式:docker.cnb.cool/<repo-slug>:<tag>

bash复制
docker pull docker.cnb.cool/rehiy/isrvd:slim
docker pull docker.cnb.cool/rehiy/isrvd:caddy
docker pull docker.cnb.cool/rehiy/isrvd:apisix

支持 slimcaddyapisix 三个标签,其中 slim 同时作为 latest

架构设计

分层架构,高内聚低耦合

config
registry
pkgs
service
server
webview

config

配置加载(YAML/etcd)

registry

外部服务初始化与可用性检查

pkgs

各模块客户端(Docker / Swarm / APISIX / Caddy / GPU / SSH)

service

业务逻辑、类型转换、权限校验

server

HTTP handlers、路由注册、中间件

webview

Vue 3 前端(Pinia + TypeScript + Tailwind CSS)

设计原则:高内聚(同领域功能聚合)、低耦合(层间通过接口解耦)、单一职责(Handler 只管 HTTP)

安全特性

多层防护,默认安全

JWT 认证

敏感字段(密钥、密码)不返回前端

路径校验

文件路径校验,防止目录遍历攻击

解压校验

解压校验路径,防止 Zip Slip 攻击

WebSocket 认证

WebSocket 连接需经过认证中间件

细粒度权限

基于路由的权限控制,支持匿名/登录/需权限三级

操作审计

操作审计日志,路由访问与操作全程记录

GPU 监控

支持 NVIDIA / AMD / Intel 独立显卡(含 Apple Silicon)

厂商 首选方式 回退方式
NVIDIA go-nvml nvidia-smi
AMD sysfs rocm-smi
Intel sysfs
Apple Silicon sysctl