|
| 1 | +--- |
| 2 | +title: Why not X? |
| 3 | +--- |
| 4 | + |
| 5 | +# Why not *X*? |
| 6 | + |
| 7 | +There are many tools that can help manage containers and deployments, and each solves different problems in different ways. Dockform does **not** try to replace them all. Instead, it focuses on solving **one specific problem**: |
| 8 | +**small, docker-compose–based deployments on single servers**, in a way that is structured, declarative, and ergonomic. |
| 9 | + |
| 10 | +::: tip |
| 11 | +Dockform never modifies your existing Docker Compose files. Instead, it works alongside them, adding support for things that are usually left to ad-hoc scripts and manual commands—like managing secrets, configs, networks, and volumes—in a way that’s Git-friendly and predictable. |
| 12 | +::: |
| 13 | + |
| 14 | +## Orchestrators (Kubernetes, Nomad, Swarm, etc.) |
| 15 | + |
| 16 | +Orchestrators are powerful and mature solutions. Kubernetes in particular has become the industry standard. These tools shine in **multi-node, distributed, and highly available environments**. |
| 17 | + |
| 18 | +But they are overkill when you just want to deploy a few containers to a single machine. Dockform is not an orchestrator: it deliberately avoids the complexity of cluster scheduling and orchestration. Instead, it supports **Compose-based deployments on single hosts**, where simplicity and speed matter more than cluster-level resilience. |
| 19 | + |
| 20 | +## Portainer, Dockage, and similar platforms |
| 21 | + |
| 22 | +GUI platforms like **Portainer**, **Dockage**, and others make it easy to manage Compose deployments through a point-and-click interface. They are mature, widely used, and a good fit if you prefer managing your stack visually. Some of them even offer YAML import/export, but their workflows remain primarily GUI-driven rather than Git-first. |
| 23 | + |
| 24 | +Dockform, however, is designed for those who want: |
| 25 | + |
| 26 | +* A **declarative workflow**, expressed in code |
| 27 | +* **Git-friendly** configuration and secrets management |
| 28 | +* Predictability and reproducibility without relying on manual clicks |
| 29 | + |
| 30 | +If you value infrastructure-as-code, Dockform covers this use case in a way GUI tools do not. |
| 31 | + |
| 32 | +## Pure Docker Compose |
| 33 | + |
| 34 | +Docker Compose itself is already **mostly declarative** and is often “good enough.” But when you go beyond a single stack, gaps appear: |
| 35 | + |
| 36 | +* Config files, secrets, external networks, and volume lifecycles often require **imperative commands** |
| 37 | +* Ad-hoc shell scripts may fill the gap, but they are **project-specific** and rarely reusable |
| 38 | +* Multi-project environments quickly become unstructured and error-prone |
| 39 | + |
| 40 | +Dockform builds on top of Compose to provide **ergonomic structure** for these “surrounding” concerns, without forcing you into a completely new toolchain. |
| 41 | + |
| 42 | +## Ansible, Chef, etc. |
| 43 | + |
| 44 | +Configuration management tools like **Ansible**, **Chef**, or **Puppet** are mature and extremely flexible. They can manage servers, applications, and infrastructure at large scale. But: |
| 45 | + |
| 46 | +* They are **general-purpose** and not specialized for Docker Compose deployments |
| 47 | +* While they can be run repeatedly to enforce state, they treat Compose as “just another file” rather than a first-class target |
| 48 | +* They require significant setup and boilerplate for what may be a relatively simple Compose-based stack |
| 49 | + |
| 50 | +Dockform focuses on being **Compose-native**, managing only what is relevant to container-based deployments, with less overhead and more ergonomic defaults. |
| 51 | + |
| 52 | +## Dockform |
| 53 | + |
| 54 | +Dockform is not a one-size-fits-all solution. It’s designed for a narrow but common scenario: **single-server, Compose-based deployments that need structure and reproducibility**. |
| 55 | + |
| 56 | +Dockform is probably **not a good fit** if your project: |
| 57 | + |
| 58 | +* Requires distributed deployments across multiple nodes |
| 59 | +* Needs orchestrator-level features (replicas, autoscaling, service discovery) |
| 60 | +* Doesn’t use Docker Compose as a base |
| 61 | +* Relies heavily on GUI-driven management instead of code |
| 62 | +* Needs advanced networking topologies outside the Compose model |
| 63 | + |
| 64 | +If those apply, tools like Kubernetes, Nomad, Swarm, or Portainer are probably a better fit. |
0 commit comments