Ajenti 介绍与选型指南

Ajenti(ajenti/ajenti)Python 轻量自托管服务器管理面板介绍与选型指南:定位与历史、核心架构、27 个官方插件功能矩阵、快速上手路径、适用场景与限制,以及与 Cockpit、Webmin、1Panel 的量化选型对比(数据实查于 2026-11-02)。

Ajenti面板PythonDocker自托管服务器管理2026/11/02

Ajenti 介绍与选型指南

目标:回答"Ajenti 是什么、架构如何、能管哪些事、适合什么场景、和 Cockpit/Webmin/1Panel 怎么选"。本文为认知篇,全部信息联网实查自官方仓库、官方文档与 PyPI/GitHub 公开数据(查询日期 2026-11-02),不含本地实测;动手部署见《Ajenti Docker Compose 部署指南》篇。

一、环境信息

本文取证环境与数据渠道:

  • 数据渠道:GitHub 仓库 ajenti/ajenti(README、目录结构、Releases)、官方文档站 docs.ajenti.org(仓库 docs/source/man/ 同源)、PyPI(ajenti-panel、aj、ajenti 三个发行包)、shields.io 徽章(星数/贡献者/提交活跃度)
  • 查询日期:2026-11-02(本文所有版本号、星数、日期均为此日实查值)
  • 官方主页:http://ajenti.org/core/ ;文档站:https://docs.ajenti.org/
  • 最新 GitHub Release:v2.2.15(发布于 2026-03-31);最新 PyPI 可安装版本:ajenti-panel / aj 2.2.18(pip 通道发布快于 GitHub tag)

💡 说明:GitHub Release 与 PyPI 版本双轨是 Ajenti 的发布特点——v2.2.15 是仓库标签,而 pip 上实际已滚动发布到 2.2.18(含 url_prefix 反代前缀支持)。选型与部署时应以 PyPI 2.2.18 为"最新稳定可安装版"。

二、软件概述

2.1 定位与历史

Ajenti(发音近似 "a-jen-ti")是一个 Linux 与 BSD 的模块化服务器管理面板(官方 README 首句:"Ajenti is a Linux & BSD modular server admin panel")。仓库创建于 2010-03-03,至今仍在维护(最近推送 2026-11-01),MIT 许可证,主语言 Python。

项目分两个世代:

世代技术栈状态(2026-11-02 实查)
Ajenti 1.xPython 2 时代产物已停更;PyPI 上 ajenti 包停留在 1.2.23.13(约 2015 年)
Ajenti 2Python 3 + AngularJS,全新界面与架构活跃维护,即本文对象,仓库 ajenti/ajenti

Ajenti 2 的设计口号(README Feature highlights 原文归纳):安装容易、接管现有配置(picks up your current configuration)、非破坏性修改(不覆盖你的配置文件、选项与注释)、电池全备(内置大量系统/软件/监控/管理插件)、Python 易扩展、界面现代(平板/手机可访问)、轻量(可跑在低端机、墙插、路由器上)。

💡 技术拓展:服务器管理面板按交互形态大致分四类,选型前先认清自己要哪一类——

形态代表特点适用
Web 管理面板Ajenti、Webmin、Cockpit、1Panel浏览器操作全套系统功能不想敲命令的日常运维
终端 TUI 面板wtf、GlancesSSH 里看仪表盘,不开放端口极简/安全敏感环境
起始页/仪表盘homepage、Heimdall只聚合入口与状态,不管理系统家庭实验室导航
云控制台代理Portainer、CloudPanel面板本身不管 OS,管容器/云资源单一职责场景

本文的 Ajenti 属第一类"Web 管理面板",且是其中少见的直接读写系统原生配置文件(apt、systemd、网络、cron)的非托管型面板。

2.2 社区与维护量化指标(2026-11-02 实查)

指标数值渠道
GitHub 星数7968(shields 徽章显示 8k)img.shields.io/github/stars
Fork 数856GitHub 仓库元数据
贡献者26shields.io/github/contributors
提交活跃度111 次/年shields.io/github/commit-activity/y
未关闭 Issue10GitHub 仓库元数据
最新 Releasev2.2.15(2026-03-31)GitHub Releases
最近推送2026-11-01GitHub 仓库元数据

解读:星数与活跃度属于"小而稳"梯队——不像 1Panel 那样高速增长,但十四年不断档、2026 年仍有提交与安全修复(v2.2.15 的 Release 正文即"Add anti-framing headers / More checks on tasks"两项安全加固),issue 极少(10 个未关闭),维护负担小。

三、核心架构

3.1 仓库分层

ajenti/ajenti 单仓库承载全部官方代码(2026-11-02 实查根目录):

目录内容发布形态
ajenti-core/核心框架,Python 包名 aj(HTTP/WebSocket 服务、配置、权限、任务、插件 API)PyPI aj(2.2.18)
ajenti-panel/面板入口与守护进程,含 ajenti-panel、ajenti-ssl-gen、ajenti-client-ssl-gen、ajenti-upgrade 四个可执行脚本与默认 config.ymlPyPI ajenti-panel(2.2.18)
plugins/27 个官方插件,各自独立目录、独立 pip 包PyPI ajenti.plugin.*
docs/Sphinx 文档源(docs.ajenti.org 同源)文档站
debian/、scripts/deb 打包与安装脚本(install.sh / install-venv.sh / fail2ban 过滤器)—

3.2 运行时模型

  • 进程:单 Python 进程 ajenti-panel,基于 gevent 协程处理 HTTP 与 WebSocket;默认监听 TCP 8000 端口、HTTPS(自签证书 /etc/ajenti/ajenti.pem)。
  • 前端:AngularJS 单页应用,登录后所有操作走 WebSocket 推送(仪表盘指标、任务进度实时回推)。
  • 配置:全部 YAML,集中在 /etc/ajenti/(config.yml 主配置、users.yml 用户库、smtp.yml 邮件中继凭据)。
  • 认证:两种 provider——os(直接校验系统用户口令,默认)与 users(面板自管用户库,scrypt 派生密钥存 users.yml);另支持客户端证书登录(ssl.client_auth)。
  • 权限:细粒度键值(如 packages:install、sidebar:view:/view/cron),可按用户开关。
  • 提权模型:受限功能以 restricted_user(默认 nobody)身份执行;auth.allow_sudo 允许 sudo 组成员在面板内提权。
  • 扩展:插件即 pip 包,用 aj.entry.* 装饰器注册入口点(官方文档 dev/intro 提供"Write your first plugin"教程)。

💡 技术拓展:面板类软件的认证底座常见三选一——

方案代表优点代价
复用系统账号(os/PAM)Ajenti provider: os、Cockpit零额外账号体系,权限即系统权限面板口令=系统口令,泄露半径大
面板自管用户库Ajenti provider: users、1Panel、Webmin与系统账号隔离,可发独立权限需维护第二套口令
外部 IdP/SSOKeycloak 前置、Cronmaster OIDC企业统一身份部署复杂

Ajenti 两种内置可选,本系列实验采用 os + root 方案。

四、功能特性

4.1 官方插件矩阵(official_plugins.json,27 个,2026-11-02 实查)

功能域插件能力
基础core / dashboard / settings / plugins / session_list侧边栏/任务/推送框架、总览仪表盘、设置页、插件安装管理、在线会话列表
文件filemanager / filesystem / ace / notepad文件管理器(权限/上传/下载)、文件系统浏览、ACE 编辑器内核、便签
系统services / cron / supervisor / power / datetimesystemd/init 服务管理、crontab、supervisord、关机重启挂起、时区与 NTP
软件packages / passwd / auth_usersapt 软件源与包管理、系统用户口令、面板用户库管理
网络network / iptables / dns_api / trafficinterfaces/hosts/resolv 编辑、iptables 规则、DNS API、流量统计
配置augeas / fstab / softraidAugeas 树式改配置(nginx/apache 等)、/etc/fstab、软 RAID
容器dockerDocker 容器/镜像查看管理
终端terminal浏览器内 xterm 终端
安全check_certificatesTLS 证书到期检查

4.2 特性要点

  • 非破坏式改配置:官方强调"Does not overwrite your config files, options and comments"——如 packages 只增删源文件、augeas 按语法树定点改值,不重排你的注释。
  • 接管现有系统:装上面板即识别现有服务/源/网络配置,无需"先纳管后使用"。
  • 任务系统:apt 升级、文件批量操作等长任务带进度条与取消能力(core 的 tasks API)。
  • 移动端友好:响应式 UI,平板/手机可直接操作。
  • 轻量:gevent 单进程,官方宣称可跑在"墙插、路由器"级设备(README Lightweight 条目)。
  • 安全配套:官方提供 fail2ban 过滤器(scripts/ajenti.conf),失败登录记入 /var/log/ajenti/ajenti.log;2.2.1+ 支持 trusted_domains/trusted_proxies 防 Host 头滥用与真实 IP 还原;2.2.18+ 支持 url_prefix 反代子路径。

五、快速开始(官方推荐路径)

⚠️ 本节命令逐字摘自官方文档 docs.ajenti.org(man/install.rst 与 man/run.rst,查询日期 2026-11-02),认知篇不做本地实测;完整部署与验证过程见《Ajenti Docker Compose 部署指南》篇。

官方支持的系统(install.rst CAUTION 块原文口径):Debian 9+、Ubuntu Bionic(18.04)+、RHEL 8+,其他 Linux "可能可用但需手动安装法"。

方式一:venv 自动安装(官方当前推荐)——规避 Debian 12+/Ubuntu 24.04+ 的 externally-managed-environment 报错:

curl https://raw.githubusercontent.com/ajenti/ajenti/master/scripts/install-venv.sh | sudo bash -s -

方式二:手动 pip 安装(最小集):

sudo pip3 install setuptools pip wheel -U
sudo pip3 install ajenti-panel ajenti.plugin.core ajenti.plugin.dashboard ajenti.plugin.settings ajenti.plugin.plugins

方式三:手动 pip 安装(全插件集):

sudo pip3 install ajenti-panel ajenti.plugin.ace ajenti.plugin.augeas ajenti.plugin.auth-users ajenti.plugin.core ajenti.plugin.dashboard ajenti.plugin.datetime ajenti.plugin.filemanager ajenti.plugin.filesystem ajenti.plugin.network ajenti.plugin.notepad ajenti.plugin.packages ajenti.plugin.passwd ajenti.plugin.plugins ajenti.plugin.power ajenti.plugin.services ajenti.plugin.settings ajenti.plugin.terminal

安装脚本(方式一/旧版 install.sh)会生成 systemd 单元 ajenti 与日志目录 /var/log/ajenti/。启动与访问:

systemctl restart ajenti

浏览器打开 https://服务器IP:8000**(自签证书需手动信任),用户名 root、口令为系统 root 口令**。排障入口:ajenti-panel -v 前台调试模式,日志看 /var/log/ajenti/ajenti.log,崩溃栈在 /var/log/ajenti/crash-DATE.log。

六、适用场景与限制

6.1 适合

  • 单台 VPS / 家用服务器 / NAS 的"图形化 SSH 替代":服务管理、apt 装包、文件编辑、cron、防火墙一屏搞定。
  • 低配机器:协程单进程、无外部数据库依赖(配置即 YAML 文件),比 PHP+MySQL 栈的传统面板省资源。
  • 需要 BSD 支持的场景(官方明确 Linux & BSD)。
  • 二次开发:Python 插件 API 成熟,写一个自定义面板页门槛低。

6.2 限制(选型前必读)

  • 无官方容器镜像:官方安装形态是主机 pip/systemd;容器化需自备 Dockerfile(本系列 B2 篇给出完整自建方案)。
  • 插件生态规模:27 个官方插件覆盖系统管理主干,但应用商店类能力(一键部署 WordPress/数据库容器组)为零——这是与 1Panel 的核心差距。
  • 前端技术栈陈旧:AngularJS 1.x 已停止官方支持,UI 风格停留在 2015 年代;功能可用但无现代化组件生态。
  • 默认 HTTPS 自签证书 + 8000 端口:生产接入建议前置反代(配合 trusted_domains/trusted_proxies/url_prefix)。
  • os 认证模式下面板口令=系统 root 口令:公网裸奔风险高,必须配合 fail2ban 或改 provider: users 并降权。
  • 多语言现状:默认语言历史遗留为 ru(仓库默认 config.yml 写 language: ru),部署时应显式改 en 或 zh。

七、同类选型对比

7.1 量化对比表(星数/版本实查于 2026-11-02)

维度Ajenti 2CockpitWebmin1Panel
GitHubajenti/ajenticockpit-project/cockpitwebmin/webmin1Panel-dev/1Panel
星数7968~15k~6.1k~37k
最新稳定版v2.2.15 / pip 2.2.18v370v2.670v2.4.2
首次发布年2010201319972022
语言/栈Python 3 + AngularJSC/JS + systemdPerlGo + Vue
许可证MITLGPL-2.1BSD 类(自定义)GPL-3.0
资源占用单协程进程,极低极低(socket 激活)中(Perl 常驻)中(Go 常驻)
官方容器镜像无无(宿主机服务)无有(面板可容器化)
系统配置方式直改原生配置文件走 systemd/D-Bus 原生 API自有 mini-parser 改配置自有逻辑+Docker
特色非破坏改配置、BSD、Python 插件Red Hat 背书、终端/存储/容器全模块最全(1800+ 可管 Apache/Bind 全家桶)应用商店、容器编排、中文生态
短板生态小、前端旧面向 RHEL 系、Debian 体验一般界面老、Perl 扩展门槛强绑定 Docker 生态

7.2 选型建议

  • 要"SSH 图形化 + 直接改配置文件"的轻量面板(含 BSD/低配机):选 Ajenti——它是四者中唯一把"不覆盖你的注释和选项"写进设计目标的。
  • RHEL/Fedora/Alma 系、要 systemd 级集成与零常驻开销:选 Cockpit(发行版仓库自带,socket 激活)。
  • 要"什么都能在网页里配"(邮件/DNS/虚拟主机全栈):选 Webmin,模块广度无出其右。
  • 国内环境、以 Docker 应用部署为中心、要中文 UI 与社区:选 1Panel。

八、参考链接

Ajenti 介绍与选型指南 - Quzuo