Skip to content

Commit c7e358d

Browse files
committed
Why not X
1 parent f71c031 commit c7e358d

File tree

2 files changed

+65
-0
lines changed

2 files changed

+65
-0
lines changed

docs/.vitepress/config.mts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ export default {
5757
{
5858
text: 'More',
5959
items: [
60+
{ text: 'Why not X?', link: '/more/why_not_x' },
6061
{ text: 'Best Practices', link: '/more/best_practices' },
6162
{ text: 'Debugging', link: '/more/debugging' }
6263
]

docs/more/why_not_x.md

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
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

Comments
 (0)