如果你是一个喜欢折腾自托管服务的 IT 从业者或者科技爱好者,Docker 一定是你工具箱里不可或缺的存在。
而提到 Docker,就不得不说到 docker-compose.yaml
文件 —— 这个小小的配置文件能让你的容器编排变得井井有条。
但问题来了,手动写配置文件是不是有点麻烦?翻文档、调参数、改路径,一个不小心还可能出错。
今天,我要给大家安利一个神器 —— Docker Compose Maker(简称 DCM),它能帮你几秒钟生成一个靠谱的 docker-compose.yaml,省时省力还省心!
什么是 Docker Compose Maker?
简单来说,DCM 是一个在线工具(也有自托管版本),专门为自托管爱好者设计。它提供了一个直观的界面,让你通过几次点击就能生成一个完整的 Docker Compose 配置文件。
无论是想搭个媒体服务器,还是搞个个人云存储,DCM 都能帮你快速上手。更酷的是,这是一个社区驱动的项目,鼓励大家分享自己的配置,让更多人受益。
想象一下,你不用再对着冗长的官方文档抄代码,也不用担心漏掉某个关键的环境变量。DCM 内置了大量常用自托管应用的模板,像 Jellyfin、Plex、Nextcloud 这些热门工具都一应俱全,而且默认配置都遵循最佳实践,拿来就能用。是不是听起来就很香?
-
Github 项目地址:https://github.com/ajnart/dcm
核心功能:从选择到部署,一气呵成
DCM 的功能可以用 “简单但强大” 来形容。下面我们来逐一拆解它的核心亮点:
- 一键选择容器
DCM 提供了一个精心整理的自托管应用列表,覆盖了媒体管理、下载工具、数据库、监控系统等多个领域。
比如,你想搭个家庭媒体中心?直接勾选 Jellyfin、Sonarr、Radarr 这些工具就行了。每个应用旁边还有简介和 GitHub 星数,方便你快速了解它是不是你想要的。
- 模板库,快速上手
如果你是新手,或者懒得一个个选容器,DCM 的“模板画廊”(Template Gallery)绝对是你的福音。它内置了多种常见场景的预设组合,比如 “媒体服务器套装” 会直接帮你选好 Plex 和相关自动化工具;“开发环境” 则会搭配数据库和 Web 服务器。你可以直接使用这些模板,也可以混搭多个模板,灵活性拉满。
- 傻瓜式配置
选好容器后,DCM 允许你调整一些关键设置,比如环境变量(像 ${PUID}
、${PGID}
、${TZ}
)、数据卷路径、端口映射等。这些选项都有默认值,基本不用动脑子就能跑起来。当然,如果你有特殊需求,也可以手动改,完全开放给你折腾。
- 生成并部署,多种选择
配置搞定后,点击 “Copy Compose”,你就能看到一个完整的 docker-compose.yaml 文件和配套的 .env 文件。接下来,DCM 提供了几种部署方式:
- 复制粘贴:直接把文件内容拷到本地,跑一句 docker-compose up -d 就完事。
- 下载文件:一键下载两个文件,丢到服务器上用你喜欢的工具部署。
- Portainer 集成:如果你用的是 Portainer,直接把配置粘到 Web 编辑器里,几秒钟就能上线。 不管你用什么方式,部署过程都超级顺畅。
- 社区驱动,持续更新
DCM 最大的亮点之一是它的社区属性。官方已经内置了大量工具的支持,但如果你发现某个你喜欢的容器不在列表里,可以按照它的贡献指南提交新的配置。你的分享可能会帮助成千上万的人发现新玩具!
使用场景:从家庭娱乐到个人生产力
DCM 的适用范围非常广,不管你是想在家搞个 NAS,还是给团队搭个开发环境,它都能派上用场。举几个例子:
- 媒体爱好者:用 Jellyfin + Sonarr + qBittorrent 打造一个全自动影视下载和播放系统。
- 开发者:用 PostgreSQL + Redis 快速搭建一个后端开发环境。
- 极客玩家:用 Home Assistant 搞定智能家居,再加个 Grafana 监控服务器状态。 这些配置在 DCM 里都能几分钟搞定,效率直接拉满。
怎么开始用?
DCM 的上手门槛极低,不管你是云服务器玩家还是本地 NAS 用户,都有适合你的方式:
- 在线版:零安装开玩
直接访问 compose.ajnart.dev,打开浏览器就能用。适合临时试水或者不想折腾部署的人。
不过要注意,在线版会带一些使用分析功能,如果你介意隐私,可以试试下面的自托管方案。
- Docker 一键部署
喜欢自己动手?用这条命令就能跑起来:
1 | $ docker run -p 7576:7576 --name dcm --rm ghcr.io/ajnart/dcm |
然后打开 http://localhost:7576,界面就出来了。支持多种平台(amd64、arm64、arm/v7),兼容性没得说。
- Docker Compose 方式
想长期用的话,可以写个简单的 docker-compose.yaml:
1 | services: |
然后 docker-compose up -d,DCM 就默默在后台等着你了。
- 源码构建
如果你是个硬核玩家,想自己改代码,可以 clone 仓库:
1 | $ git clone https://github.com/ajnart/dcm.git |
注意这里推荐用 Bun 而不是 npm,安装更快,兼容性也更好。
支持的工具:应有尽有
DCM 内置的支持列表非常丰富,涵盖了自托管圈子里几乎所有明星项目。比如:
- 媒体管理:Jellyfin、Plex、Sonarr、Radarr、qBittorrent
- 数据库:MariaDB、PostgreSQL、MongoDB
- 监控:Grafana、Prometheus、Watchtower
- 存储:Nextcloud
- 安全:Vaultwarden 每个工具都带详细描述和预设配置,拿来就能跑,省心到飞起。
小贴士与注意事项
- 环境变量:DCM 的配置默认用了
${PUID}
、${PGID}
和${TZ}
这些变量,部署前记得在 .env 文件里填好,不然可能会遇到权限问题。 - Portainer 用户:直接用 Web 编辑器部署时,别忘了手动加环境变量,Portainer 不会自动读取 .env 文件。
- 贡献一把:用了个冷门但好用的工具?提交到 DCM 吧,让更多人知道!
为什么你需要 DCM?
对于 IT 从业者来说,DCM 能大幅缩短部署时间,让你把精力集中在更有趣的事情上,比如优化服务或者开发新功能。而对于科技爱好者,它降低了自托管的门槛,哪怕你是 Docker 新手,也能轻松玩转复杂应用。
更重要的是,DCM 不只是个工具,它还是个社区。每次你用它生成配置,或者分享自己的 stack,都在为这个生态添砖加瓦。官方文档里提到:“我们相信每个人都有自己喜欢的工具,你的贡献能让更多人发现好软件。”这种开放的精神,正是 DCM 吸引人的地方。
总结
Docker Compose Maker 是一个简单却强大的助手,它把繁琐的配置过程变成了几次点击的事儿。无论你是想省时间,还是想探索更多自托管的可能性,DCM 都能满足你。现在就去试试吧,也许下一个神级配置就出自你的手!
对了,如果你觉得这工具不错,别忘了给 GitHub 仓库点个星,或者请作者喝杯咖啡(ko-fi.com/ajnart)。毕竟,社区的热情也需要一点咖啡因来驱动嘛!