前置条件
- macOS 或 Windows:安装 Podman Desktop,并完成 Podman machine 初始化
- Linux 生产服务器:需要 sudo 权限、公网 IP 或域名,以及足够存放镜像和数据的磁盘
- 桌面 Podman machine 建议 6 GB 内存、20 GB 磁盘;Linux 生产建议至少 4 GB,推荐 8 GB
- 桌面本地默认使用 8080 端口;生产部署可以直接占用 80/443,也可以放在 Caddy 或 Nginx 后面
选择平台
macOS 和 Windows 是本地试用;Linux 是生产环境部署。
在 macOS 上本地运行 Kageos
适合在自己的 Mac 上先试用 Kageos,还不需要准备 Linux 服务器。
安装并运行
安装 Podman Desktop,完成 Podman machine 初始化后运行 Kageos。
- 运行 Kageos 安装器前,先打开 Podman Desktop 并完成 Podman machine 初始化。
- 创建持久化的 kageos-data 数据卷,并运行 qiayanai/kageos 镜像。
- 首次安装成功后,安装器会输出 system 登录信息。
在 Windows 上本地运行 Kageos
适合在 Windows 工作站上通过 PowerShell 先试用 Kageos。
安装并运行
安装 Podman Desktop,完成 Podman machine 初始化后运行 Kageos。
- Windows 上 Podman Desktop 会通过 Podman machine 运行 Linux 容器。
- 创建持久化的 kageos-data 数据卷,并运行 qiayanai/kageos 镜像。
- 首次安装成功后,安装器会输出 system 登录信息。
把 Kageos 部署到 Linux 生产环境
适合让 Kageos 跑在远程服务器上,给团队或长期环境使用。
生成 Linux 精确命令
先选一种生产部署路径,再复制生成出来的唯一命令。
中国大陆模式会使用阿里云镜像仓库分发 Kageos 镜像,必要时再回退到 DaoCloud 等公共镜像代理拉取公开依赖镜像,并通过 Goproxy.cn(七牛云支持)加速 Go 模块下载。
默认安装
适用于中国大陆以外,或能正常拉取 DockerHub 镜像的服务器。
已有反向代理时安装
适用于 Caddy、Nginx 或负载均衡已经占用 80/443,只把流量转发给 Kageos 的场景。
中国大陆服务器安装
只加 --cn,安装器会自动选择中国大陆可用的下载或拉取路径,必要时回源。
先审查脚本再执行
需要安全审查或企业环境审核时,先下载查看,再执行安装器。
彻底卸载清理
重装失败测试机前使用。--purge 会删除 /opt/kageos 数据。
- 优先从国内镜像仓库拉取,必要时回退到发布包或上游镜像,并以 rootful all-in-one 容器方式运行。
- 默认把持久化数据放在 /opt/kageos/data;不会 clone 源码仓库。
- 只有中国大陆服务器需要 --cn;其他地区使用默认命令即可。
- --cn 也会把工作空间应用构建使用的 Go 模块下载切到国内更友好的代理配置。
- 服务器 IP 地址只适合首次验证;邀请真实用户前建议切到域名和 HTTPS。
- 如果 TLS 由 Caddy、Nginx、云负载均衡或其他入口代理终止,安装时使用 --tls-mode external。
- 如果宿主机 FORWARD 策略会拦截容器流量,安装器会为 Kageos 公网端口添加范围更小的放行规则。
- 如果服务器本机能访问但公网仍打不开,先运行 sudo kageos doctor,并检查云防火墙规则。
- 需要强制重新拉镜像时,卸载脚本可以额外加 --remove-images。
- 自定义端口、固定镜像版本、容器引擎兜底等高级参数,可以在 install-prod.sh 里查看。
先选生产部署形态
运行安装器前,先判断这台服务器的入口是谁。传给 --base-url 的地址,始终应该是用户最终在浏览器里打开的公网地址。
Kageos 直接占用 80/443
如果宿主机没有其他 Web 服务监听公网端口,使用默认命令即可。Kageos 容器内会处理 HTTP、HTTPS 和跳转。
Caddy 或 Nginx 负责 TLS
如果 80/443 已经被反向代理占用,安装时使用 --tls-mode external,让代理把流量转到 Kageos 的本机 HTTP 端口。
IP + HTTP 快速试跑
服务器 IP 地址适合先确认镜像、端口和容器链路。邀请真实用户前,应切到域名和 HTTPS。
反向代理部署
当宿主机已经运行 Caddy、Nginx、云负载均衡或平台 Ingress 时,推荐让入口继续占用 80/443,Kageos 只在本机 HTTP 端口提供服务。
把 Kageos 装在代理后面
用户访问的仍然是 HTTPS 域名。external 表示 TLS 在进入 Kageos 前已经由外层代理终止。
Caddy 示例
域名 A 记录指向服务器、公网 TCP 80/443 放行后,Caddy 会自动申请和续期证书。
Nginx 示例
如果团队已有 Nginx 证书和发布流程,可以只把业务流量转发给 Kageos。
端口策略
反代模式下,公网只需要开放 80/443 给入口代理。不要把 Kageos 上游端口加入公网安全组,除非你明确需要直连访问。
访问不通排查清单
把问题拆成服务器、代理、DNS 和客户端缓存四段。服务器上 HTTPS 探测成功,通常说明 Kageos 和反向代理都已经正常。
在服务器上执行
在访问端执行
部署了什么
常用命令
需要帮助?
查看完整文档或在 GitHub 提交 issue。