1Panel 开源 Linux 服务器管理面板:功能全景、快速安装与源码架构解读
本文以 1Panel 仓库中的日语版项目文档 docs/README.ja.md 为主体,系统梳理该开源 Linux 服务器管理面板的五大核心能力、一键安装命令与多语言支持矩阵,并结合 core 与 agent 两个 Go 服务、frontend Vue 3 前端的源码结构,解读其"双后端 + 前端"的工程架构,帮助读者在几分钟内完成部署决策并理解面板的底层实现脉络。
1Panel 是什么
1Panel 定位为"最高评价的 Web 版 Linux 服务器管理工具"(原文档日语表述:最高評価のWebベースのLinuxサーバー管理ツール),即一款现代化的开源 Linux 服务器操作与管理系统。根据 docs/README.ja.md 的官方描述,它提供五大核心能力:
- 效率化管理(効率的管理):通过 Web 图形界面管理 Linux 服务器,覆盖主机监控、文件管理、数据库管理、容器管理等日常运维场景,无需登录终端即可完成绝大多数操作。
- 快速网站构建(迅速なウェブサイト構築):深度集成开源建站软件 WordPress 与 Halo,支持域名绑定、SSL 证书配置等步骤的一键化完成,显著降低建站门槛。
- 应用商店(アプリストア):内置经过筛选的高质量开源工具与应用目录,支持一键安装与升级。英文版主 README.md 中进一步注明应用市场包含 165+ 应用。
- 安全与可靠性:基于容器管理与应用部署技术,将应用运行在容器中以收敛最小脆弱性暴露面,同时提供防火墙、日志审计等安全功能。
- 一键备份(ワンクリックバックアップ):支持一键备份与恢复,并可把备份数据同步到多种云存储介质,避免数据永久丢失。
此外,英文版 README.md 还指出 1Panel 同时是一个轻量级 AI 管理平台,提供 AI 网关、Skills Hub 以及 Agent 与模型的集中管理能力,属于在日语文档五大能力基础上的新版演进方向。
快速开始:一条命令安装面板
docs/README.ja.md 给出的快速开始方式是在目标 Linux 服务器执行一条安装脚本命令:
curl -sSL https://resource.1panel.pro/quick_start.sh -o quick_start.sh && bash quick_start.sh
该命令分两步:先用 curl -sSL 静默下载官方快速开始脚本到本地 quick_start.sh,再用 bash 执行完成初始化安装。
需要说明版本适用前提:仓库根目录的英文版 README.md 给出的当前(v2)安装命令为:
bash -c "$(curl -sSL https://resource.1panel.pro/v2/quick_start.sh)"
两条命令分别对应面板的不同代际脚本入口,部署新版面板时建议以 README 中的 v2 脚本为准。安装完成后:
- 在浏览器打开
http://<服务器IP>:<端口>/<安全路径>进入面板登录页; - 如需要找回访问凭据,可通过 SSH 执行
1pctl user-info命令获取当前面板的用户信息。
面板以独立进程运行于宿主机,因此上述凭据查询与安装脚本均由服务器侧完成,Web 界面仅用于登录后的管理操作。
多语言支持:16 种语言的文档矩阵
docs/README.ja.md 文档头部以徽章链接的形式列出了 16 种语言的版本入口,覆盖从欧洲到亚洲的主要语言。转换为仓库根路径后,各语言文档的位置如下:
| 语言 | 文档路径 |
|---|---|
| English | README.md |
| 中文(简体) | docs/README.zh-Hans.md |
| 中文(繁体) | docs/README.zh-Hant.md |
| 日本語 | docs/README.ja.md |
| Português (Brasil) | docs/README.pt-br.md |
| العربية | docs/README.ar.md |
| Deutsch | docs/README.de.md |
| Español | docs/README.es-es.md |
| français | docs/README.fr.md |
| 한국어 | docs/README.ko.md |
| Bahasa Indonesia | docs/README.id.md |
| Türkçe | docs/README.tr.md |
| Русский | docs/README.ru.md |
| Bahasa Melayu | docs/README.ms.md |
| Persian | docs/README.fa.md |
| ພາສາລາວ | docs/README.lo.md |
这种多语言矩阵并不只是文档层面——从源码结构看,前后端均内置了 i18n 语言包:agent/i18n/lang/ 与 core/i18n/lang/ 目录下各存放了 14 份语言 YAML 文件(含 en、zh、zh-Hant、ja、ko、lo、pt-BR、ms、ru、tr、fa、es-ES、fr 等),前端 frontend/src/lang/ 下同样维护着 14 个语言文件,说明面板界面与错误提示消息在运行时均可按用户选择的语言输出。
安全性与漏洞披露
docs/README.ja.md 在"セキュリティ情報"一节中说明:发现安全问题时应通过邮件 wanghe@fit2cloud.com 联系开发团队。仓库中的 SECURITY.md 给出了与之对应、更完整的披露策略:
- 目前处于安全支持范围内的版本为 v1.x;
- 官方明确请求:在漏洞修复发布之前,不要向 1Panel 开发团队以外的任何人披露漏洞细节,统一通过上述邮箱提交报告。
结合面板"容器化部署应用、防火墙与日志审计"的设计(见上文功能全景),安全策略与产品能力是相互配套的:产品侧收敛攻击面,社区侧规范漏洞披露流程。
许可证:GPLv3
docs/README.ja.md 的 License 部分声明:该项目文件依据 GNU General Public License 版本 3(GPLv3)授权;除遵守该许可证外不得使用本文件,且依照适用法律要求或书面同意的情形除外,按许可证分发的软件均以"现状(AS IS)"提供,不含任何形式担保。仓库根目录的 LICENSE 即完整的 GPLv3 协议文本,agent 服务的 Swagger 元信息(见 agent/cmd/server/main.go 中的 @license.name GPL-3.0 注释)也与其保持一致。
源码架构解读:core / agent / frontend 三段式结构
原文档以功能与部署视角介绍 1Panel,而仓库源码则揭示了支撑这些功能的工程骨架。整个项目由三个可独立构建的模块组成:
1. core:面板核心服务(1panel-core)
core/cmd/server/main.go 是核心服务入口,构建产物名为 1panel-core(见 Makefile)。从 core/go.mod 的依赖清单可以确认其职责范围:
- Web 框架与 API:
gin(HTTP 框架)、gin-contrib/gzip; - 会话与安全认证:
go-oidc/v3(OIDC)、crewjam/saml(SAML SSO)、go-ldap/ldap/v3(LDAP)、go-webauthn/webauthn(通行密钥/passkey)、自研验证码依赖base64Captcha; - 数据库:
glebarez/sqlite(纯 Go SQLite 实现)与go-gormigrate/gormigrate/v2做数据库迁移。
结合 core/app/ 下的 auth、backup、group、logs、setting、upgrade 等服务目录可以推断:core 负责登录认证、多节点分组管理(group)、面板备份、日志与版本升级等"面板自身"层面的能力。
2. agent:服务器代理(1panel-agent)
agent/cmd/server/main.go 是代理入口,构建产物名为 1panel-agent(见 Makefile)。该文件头部的 Swagger 注释还直接给出了面板对外 OpenAPI 的鉴权方式:
- API 基础路径为
/api/v2; - 请求头需携带
1Panel-Token(面板 API Key)与1Panel-Timestamp(当前 Unix 秒级时间戳),Token 的计算规则为md5('1panel' + API-Key + UnixTimestamp); - 注释中附有一个可直接复制的
curl示例,调用GET /api/v2/toolbox/device/base接口获取设备基础信息。
从 agent/go.mod 的依赖可见其核心职责:docker/docker 与 docker/cli(容器管理)、go-acme/lego/v5(ACME 证书申请,且替换为 1Panel 维护的 fork 版本)、compose-spec/compose-go(Compose 编排)、aliyun-oss-go-sdk 等云存储 SDK,以及 creack/pty(终端伪终端,支撑 Web 终端功能)。agent/app/service/ 目录进一步细化了数据库(MySQL/MongoDB/PostgreSQL/Redis)、网站(域名、SSL、反代、负载均衡)、备份、容器、防火墙、监控等具体业务实现。
3. frontend:Vue 3 Web 界面
frontend/package.json 显示前端基于 Vue 3.5 + TypeScript + Vite 构建,UI 组件库为 Element Plus 2.14,状态管理使用 Pinia,国际化使用 vue-i18n。与面板功能直接相关的依赖包括:
@xterm/xterm+@xterm/addon-fit:Web 终端组件;monaco-editor与codemirror:文件编辑器(对应"文件管理"能力);@novnc/novnc:VNC 远程桌面客户端;echarts:监控图表(对应"主机监控"能力);@vue-office/docx/@vue-office/excel:文档与表格在线预览。
开发侧脚本同样可直接复用:npm run dev 启动 Vite 开发服务器(node --max-old-space-size=8192 为构建预留了 8GB 堆内存),npm run build:pro 执行生产构建,npm run type-check 跑 vue-tsc 类型检查。
4. 构建与发布流程
Makefile 完整定义了三段式构建流程,值得作为实操参考:
build_all: build_frontend build_core_on_linux build_agent_on_linux
build_frontend:进入 frontend 目录执行npm install && npm run build:pro;build_core_on_linux/build_agent_on_linux:分别编译 core 与 agent 的cmd/server/main.go,均采用CGO_ENABLED=0纯静态编译、-trimpath -ldflags '-s -w'去除调试符号,产物输出到build/1panel-core与build/1panel-agent;build_on_local:为 macOS 开发者提供的交叉编译目标(GOOS=linux GOARCH=amd64),方便在本机直接产出 Linux 二进制。
一键备份能力背后的云存储适配层
日语文档中"ワンクリックバックアップ"提到可把数据备份到"さまざまなクラウドストレージメディア"(多种云存储介质)。这一承诺在源码中有明确的落地实现:agent/utils/cloud_storage/cloud_storage_client.go 定义了统一的 CloudStorageClient 接口(ListBuckets、ListObjects、Exist、Delete、Upload、Download、Size),并由 NewCloudStorageClient 工厂方法按备份类型分发到 13 个具体实现。
从 agent/utils/cloud_storage/client/ 目录可确认支持的介质包括:本地存储(local)、S3 兼容协议(s3)、阿里云 OSS(oss)、SFTP(sftp)、WebDAV(webdav)、MinIO(minio)、腾讯云 COS(cos)、七牛 KODO(kodo)、OneDrive(onedrive)、又拍云(up)、阿里(ali)以及 Google Drive(google_drive)。以 agent/utils/cloud_storage/client/s3.go 为例,S3 客户端基于 minio-go/v7 实现,从配置参数 accessKey、secretKey、endpoint、region、bucket、scType 中读取连接信息(存储类别缺省为 Standard),并内置了 30 秒默认控制超时与 24 小时传输超时的保护机制。
小结
以 docs/README.ja.md 为线索可以完整勾勒出 1Panel 的使用闭环:用一条 curl 安装脚本完成部署,通过 http://<IP>:<端口>/<安全路径> 访问图形界面,用 16 种语言的文档与界面覆盖多语言用户,用容器化 + 防火墙 + 审计的机制保障安全,用统一抽象的云存储适配层保证备份可恢复。而 core、agent、frontend 三模块的源码结构与 Makefile 构建体系,则为想要深入定制或二次开发的贡献者提供了清晰的切入路径。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0623
Hy4-previewHy4 preview 是由腾讯混元团队研发的新一代混合专家(MoE)旗舰模型。模型总参数量 770B,每个 token 激活 49B,主干共包含78层,第一层采用标准 FFN,其余 77 层均为 MoE 结构,每层包含 256 个路由专家与 1 个共享专家,每个 token 激活 top-8 路由专家及共享专家。主干之外原生内置 1 层 MTP(总参数量 10B,激活 0.7B)以支持投机解码。Python00
GLM-5.3GLM-5.3 与 GLM-5.2 使用相同的基座模型——所有提升均来自后训练。与 GLM-5.2 相比,它在复杂编程和长程任务上的表现显著提升。Jinja00
GLM-5.3-FlashGLM-5.3-Flash (320B-A18B),是GLM-5系列的首个原生多模态模型。320B总参数,能力超过GLM-5.2Jinja00
Spark-X2.5-4BSpark-X2.5-4B 旨在让强大的 AI 更实用、更高效、更易获得。在广泛日常任务中表现强劲,涵盖对话、写作、翻译、推理、编码、工具调用以及智能体工作流,并在同等规模的开源模型中取得领先成绩。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00
Spark-X2.5-1.7BSpark-X2.5-1.7B 旨在让强大的 AI 更加实用、高效且易于获取。这些模型在广泛的日常任务中表现出色,涵盖对话、写作、翻译、推理、编程、工具调用和智能体工作流,并在同等规模的开源模型中取得领先结果。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00