Compote
可视化 Docker Compose 编辑器,用于构建、校验和导出自托管基础设施栈。
安装次数
点赞
应用评论
催更次数
桌面端



应用描述
Compote 是一个可视化 Docker Compose 编排编辑器。它适合自托管用户、家庭服务器用户和运维人员,用表单和界面来创建、检查、维护 Docker Compose 配置,而不是从零手写 YAML。 Compote 不是 Portainer 这类运行时管理工具。它不负责直接启动、停止或管理容器,而是用于部署前的规划、校验、模板生成和导出。 ## 适合做什么 - 设计新的 Docker Compose 应用栈。 - 管理多台服务器上的 Compose 项目规划。 - 快速添加常见自托管服务。 - 检查端口冲突、依赖缺失、环境变量缺失等问题。 - 从已有 Compose YAML 导入,再用可视化界面继续编辑。 - 导出可部署的 ZIP 包,包含 `docker-compose.yml`、`.env` 和自动生成的 README。 ## 基本概念 ### Host Host 表示一台目标服务器,可以是真实机器、虚拟机、NAS 或云服务器。你可以为不同机器建立不同 Host,用来区分它们将要运行哪些 Compose 项目。 ### Compose Project Compose Project 是一个 Docker Compose 应用栈。一个 Host 下可以有多个 Compose Project,例如: - `media` - `monitoring` - `internal-tools` - `website` ### Service Service 是 Compose 项目里的一个容器服务,例如 `nginx`、`postgres`、`redis`、`grafana`、`nextcloud`。每个服务都可以配置镜像、端口、环境变量、卷、网络、健康检查和依赖关系。 ## 使用流程 ### 1. 打开应用 在懒猫微服中打开 Compote 应用。首次访问会先经过懒猫登录页,登录后即可进入 Compote。 当前应用数据保存在服务端 SQLite 数据库中,同一个应用实例内的数据会在重启后保留。 ### 2. 创建 Host 进入应用后,先创建一个 Host。Host 可以按服务器用途命名,例如: - `Home Server` - `NAS` - `VPS Tokyo` - `Lab Machine` Host 用来承载后续的 Compose 项目。即使你只有一台服务器,也建议先创建一个 Host,便于后续管理。 ### 3. 创建 Compose Project 在 Host 详情页中创建 Compose Project。项目名建议使用短横线小写格式,例如: - `media-stack` - `monitoring` - `personal-cloud` - `reverse-proxy` 项目名会影响导出的 Compose 结构和说明文档,建议使用清晰、稳定的名称。 ### 4. 添加服务 进入 Compose Project 后,可以通过服务目录添加常见服务,也可以搜索镜像添加服务。 常见方式: - 从内置 Catalog 选择服务。 - 使用 Registry Search 搜索 Docker Hub 镜像。 - 输入 `ghcr.io/owner/repo` 查找 GHCR 镜像。 - 导入已有 `docker-compose.yml`,让 Compote 转成可编辑的服务配置。 注意:如果懒猫微服所在网络无法访问 Docker Hub,Docker Hub 搜索可能返回上游不可用提示。GHCR auth 已验证可用。 ### 5. 配置服务 选中一个服务后,按需配置以下内容: - 镜像和版本:设置 image、tag 或 build 配置。 - 端口:设置宿主机端口、容器端口和协议。 - 环境变量:填写服务启动所需的变量。 - 存储卷:配置数据目录、配置文件、只读/读写模式。 - 网络:配置服务加入哪些 Compose 网络。 - 启动顺序:配置 `depends_on` 和依赖条件。 - 运行参数:配置 restart 策略、资源限制等。 - 健康检查:配置服务是否启动成功的检测方式。 建议先配置端口、环境变量和存储卷,这三类最容易影响实际部署结果。 ### 6. 查看校验结果 Compote 会实时检查配置风险。常见提示包括: - 多个服务使用同一个宿主机端口。 - 服务依赖的组件没有加入项目。 - 必填环境变量为空。 - 网络或卷引用不完整。 - 服务之间存在可能的连接问题。 导出前建议先处理所有错误级别的问题。警告可以根据实际部署环境判断是否需要调整。
懒猫评分/评论
0.0
0 条评论
新功能
版本历史记录""
此 App 尚未收到足够的评分或评论,无法显示评论列表。