Arcane 是开源现代化 Docker 可视化管理平台,Web UI 管理容器、镜像、卷与网络。Go + SvelteKit 全栈架构,支持多环境远程代理、深色主题、移动端响应式、Docker Compose 一键部署,BSD-3 协议完全免费,文末附详细使用教程
🎤 引言
Home Lab 玩家的日常:开了 5 台 VPS,每台 docker ps 一眼看不到头;想看某个容器日志得 ssh 进去翻 docker logs -f;想改个端口要重启 Compose 文件再 docker compose up -d;想监控资源占用只能在服务器上开 Netdata 或者跑 cAdvisor。
Portainer 是老牌 Docker UI,但 2.x 改版后界面越来越重,商业版订阅墙越来越高;Dockge 走轻量路线,但只管 Compose stacks,不支持容器/镜像/网络的全功能管理。新出的 CasaOS 又绑死了自己的应用生态。
有没有一个既能 Portainer 全功能、Dockge 极简、CasaOS 美观的开源方案?
GitHub 6.6k Stars 的 getarcaneapp/arcane 就是冲着这个组合需求来的——Go + SvelteKit 全栈架构,BSD-3-Clause 协议,社区活跃到 2026-07-26 还在高频更新。
⭐ 核心功能
1. 完整的 Docker 资源管理
Arcane 提供容器、镜像、卷、网络四大核心资源的全生命周期管理,覆盖 Docker 用户 90% 的日常操作:
- 容器:启动 / 停止 / 重启 / 删除 / 暂停 / 日志查看 / exec 进入终端 / 实时 stats
- 镜像:列表浏览 / 拉取 / 删除 / 标签管理 / 占用空间统计
- 卷:创建 / 删除 / 挂载路径查看 / 孤立卷清理
- 网络:列表 / 创建 / 删除 / 已连接容器关系图
每个资源都支持右键菜单 + 顶部操作栏双入口,老手不别扭,新手也不迷路。
2. Docker Compose 部署管理
直接拖拽 docker-compose.yml 到 Arcane 面板,或者点导入按钮选择本地文件,自动识别服务栈并按 docker compose 语义启动 / 停止。
实测:从零部署一个由 5 个服务组成的 WordPress 栈(WordPress + MySQL + Redis + Nginx + Certbot),整个流程在 Web UI 里 3 分钟搞定,比手敲命令行省事得多。
3. 多环境远程代理 (Remote Agents)
这是 Arcane 区别于 Portainer CE 的差异化亮点——同一个 Arcane 控制台可以同时管理多台 Docker 主机:
- 本机 Docker Socket(默认)
- 远程服务器上的 Arcane agent
- 一台控制台 N 台机器,集群玩家的福音
安装 agent 只需在远程机器跑一行 docker run,环境隔离不污染网络拓扑。
4. 实时资源监控
内置 stats 面板展示:
- 每个容器的 CPU / 内存 / 网络 / 磁盘 IO 实时曲线
- 镜像占用空间 Top 10
- 卷使用率分布
- Docker engine 状态概览(运行中 / 停止 / 总数)
无需额外部署 cAdvisor / Prometheus / Grafana 这套监控全家桶,对轻量级玩家非常友好。
5. 现代 UI 与移动端适配
UI 完全用 SvelteKit 写的,响应速度比 Portainer 的 Angular 旧版快不少,关键操作零卡顿。设计风格介于 CasaOS(友好)和 Portainer(专业)之间:
- 自带深色 / 浅色主题切换
- 移动端响应式布局,手机上点开也能管理容器
- 关键操作都有 toast 反馈,不会出现「点了不知道有没有生效」的尴尬
📥 安装与使用
环境要求
- 任意运行 Docker 的 Linux 主机(Ubuntu 22.04+ / Debian 11+ / CentOS 9+)
- Windows / macOS 也支持 Docker Desktop 环境
- 推荐 2GB+ 内存(控制台本身很轻,但管理多个 agent 时会占用)
Docker Compose 一键部署
官方推荐的部署方式:
services:
arcane:
image: ghcr.io/getarcaneapp/arcane:latest
container_name: arcane
restart: unless-stopped
ports:
- "3552:3552"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- arcane-data:/app/data
- /opt/docker:/opt/docker # 可选:暴露 compose stacks
environment:
- PUID=1000
- PGID=1000
- APP_URL=http://your-ip:3552
- ENCRYPTION_KEY=随机生成32位字符串
- JWT_SECRET=随机生成32位字符串
security_opt:
- label:disable
volumes:
arcane-data:启动:
docker compose up -d首次访问 http://your-ip:3552,按引导创建管理员账号,然后自动连接到本机 Docker Socket——开箱即用。
远程 Agent 接入
在第二台服务器上跑:
docker run -d \
--name arcane-agent \
--restart always \
-v /var/run/docker.sock:/var/run/docker.sock \
-e AGENT_TOKEN=主控面板生成的token \
ghcr.io/getarcaneapp/arcane:latest --agent回到主控面板的 Settings → Agents,把 agent token 粘贴进去,第二台机器就并入管理控制台了。
官方文档:https://getarcane.app/docs/setup/installation
项目仓库:GitHub - getarcaneapp/arcane
🎯 适用场景
- Home Lab / 自托管玩家:同时管理 2-10 台 VPS 上的 Docker 服务,需要统一面板而非逐台 ssh。
- 小团队 DevOps:组内共享一个 Arcane 实例,新人 oncall 看 UI 就能上手,不用先学 kubectl / docker CLI。
- NAS 用户:在群晖 / 极空间 / Unraid 上跑 Docker,希望有个比 Container Manager 更现代的 UI。
- 个人项目 / Side Project:懒得记每个项目的启动命令,全扔进 Arcane 里统一管理。
- 教学 / Demo:Docker 培训场景下,让学员先用 UI 熟悉概念,再过渡到命令行。
不太适合:纯 K8s 集群玩家(Arcane 是单机 Docker 管理,不接管 K8s);纯 CLI 极客(用 tmux + lazydocker 就够了);Docker Compose 都不愿意用的极简主义者。
🔍 对比 / 替代方案
| 工具 | 部署方式 | UI 体验 | 容器管理 | Compose | 多主机 | 资源监控 | 协议 |
|---|---|---|---|---|---|---|---|
| Arcane | Docker | ⭐⭐⭐⭐⭐ | ✅ 全功能 | ✅ | ✅ Agent | ✅ 内置 | BSD-3 |
| Portainer CE | Docker | ⭐⭐⭐ | ✅ 全功能 | ✅ | ✅ Edge | ✅ 内置 | Zlib |
| Portainer Business | Docker | ⭐⭐⭐⭐ | ✅ 全功能 | ✅ | ✅ | ✅ 高级 | 商业 |
| Dockge | Docker | ⭐⭐⭐⭐ | ⚠️ 仅 Compose | ✅ | ❌ | ⚠️ 基础 | MIT |
| CasaOS | 专用系统 | ⭐⭐⭐⭐⭐ | ⚠️ 应用商店 | ⚠️ | ❌ | ⚠️ 基础 | Apache |
| Yacht | Docker | ⭐⭐⭐ | ✅ | ✅ | ❌ | ⚠️ 基础 | MIT |
| lazydocker | 终端 | N/A | ✅ | ❌ | ❌ | ✅ | MIT |
Arcane 的甜蜜点非常清晰:Portainer 的全功能 + Dockge 的轻量 + CasaOS 的美观,三者合一还开源免费。
横向对比 Portainer CE:Arcane UI 明显更现代(SvelteKit vs 老版 Angular),启动速度更快(Go 单文件部署 vs Portainer 多容器),多主机方案用 agent 模式比 Portainer Edge Agent 配置更直观。
缺点同样诚实:GitHub 显示当前 145 open issues,部分高级特性(如 K8s 支持、应用商店模板)仍在路线图上;BSD-3 协议比 MIT 略严,商业二次开发前最好让法务看一眼;移动端体验虽好但不及 CasaOS 那种为触屏重做的体验。
⚠️ 注意事项
- 必须挂载 Docker Socket:
-v /var/run/docker.sock:/var/run/docker.sock是核心,等于给 Arcane 容器 root 级权限,生产环境务必限制访问(Arcane 自带鉴权)。 - ENCRYPTION_KEY 和 JWT_SECRET 必填:首次启动没有这两个环境变量会拒绝运行,用
openssl rand -hex 32生成两个不同字符串填进去。 - 远程 agent 需要网络可达:主控和 agent 之间需要 TCP 连通(默认 3552 端口),跨地域机器建议加 WireGuard / Tailscale 隧道,别裸跑公网。
- 145 open issues 留意:项目年轻(2025-04 首发,至今 1 年出头),更新快但偶发回归 bug,部署到生产前先看 GitHub Issues 排雷。
- 底层数据库是 SQLite:配置和账户信息存在容器内
/app/data卷里,备份这个卷即可;多节点部署时不要共享同一个 SQLite 文件,会锁冲突。 - 不接管 K8s:Arcane 只管 Docker / Docker Compose,集群场景请直接用 K8s Dashboard 或 Lens,不要硬塞 Arcane。
- 权限粒度粗:当前没有「只读用户 / 只管理某个项目」这种细粒度 RBAC,所有登录用户都是管理员级别,多人共管时建议按团队拆实例。
✅ 总结
Arcane 是 2025 年之后难得让人眼前一亮的 Docker 管理 UI 新势力。Go + SvelteKit 的全栈架构让启动速度和 UI 流畅度都站到了第一梯队,BSD-3 协议 + 多主机 agent + 内置资源监控的组合拳,让 Portainer CE 用户有充分理由迁移过来。
推荐指数 ⭐⭐⭐⭐⭐(5/5):UI 现代 + 功能完整 + 开源免费 + 多主机支持,这个四件套组合在同类里几乎找不到对手。
适合:Home Lab 玩家、小团队 DevOps、自托管爱好者、NAS 用户、Docker 教学场景。
不太适合:纯 K8s 集群、需要商业 SLA 保障的大型企业、纯 CLI 极客。
如果你是 Portainer 老用户嫌它越来越臃肿,或者 Dockge 用户想要更完整的功能集,Arcane 几乎是无缝迁移——一个 docker-compose.yml 起服务、导入已有的 stacks、登录即用,整个迁移过程 10 分钟内可以搞定。
官方文档:https://getarcane.app
GitHub:https://github.com/getarcaneapp/arcane