From 4f91d83c504a7a5cf5cf08b100e9be2721bdd667 Mon Sep 17 00:00:00 2001 From: RocketQuack <202538874+Rocket-Quack@users.noreply.github.com> Date: Wed, 8 Apr 2026 18:38:15 +0200 Subject: [PATCH] docs(easy-docker): expand overview with guided screenshots --- docs/10-easy-docker/01-overview.md | 208 ++++++++++++++++-- .../images/easy-docker/overview/main-menu.png | Bin 0 -> 2914 bytes .../overview/stack-creation/app-selection.png | Bin 0 -> 3975 bytes .../overview/stack-creation/app-version.png | Bin 0 -> 4101 bytes .../overview/stack-creation/database.png | Bin 0 -> 3404 bytes .../stack-creation/frappe-version.png | Bin 0 -> 4743 bytes .../overview/stack-creation/image-name.png | Bin 0 -> 3550 bytes .../overview/stack-creation/image-version.png | Bin 0 -> 3181 bytes .../overview/stack-creation/name.png | Bin 0 -> 3880 bytes .../overview/stack-creation/proxy-mode.png | Bin 0 -> 6221 bytes .../overview/stack-creation/topology.png | Bin 0 -> 5626 bytes .../overview/stack-management/build-image.png | Bin 0 -> 4697 bytes .../stack-management/running-stack.png | Bin 0 -> 6086 bytes .../overview/stack-management/start-stack.png | Bin 0 -> 5524 bytes 14 files changed, 191 insertions(+), 17 deletions(-) create mode 100644 docs/images/easy-docker/overview/main-menu.png create mode 100644 docs/images/easy-docker/overview/stack-creation/app-selection.png create mode 100644 docs/images/easy-docker/overview/stack-creation/app-version.png create mode 100644 docs/images/easy-docker/overview/stack-creation/database.png create mode 100644 docs/images/easy-docker/overview/stack-creation/frappe-version.png create mode 100644 docs/images/easy-docker/overview/stack-creation/image-name.png create mode 100644 docs/images/easy-docker/overview/stack-creation/image-version.png create mode 100644 docs/images/easy-docker/overview/stack-creation/name.png create mode 100644 docs/images/easy-docker/overview/stack-creation/proxy-mode.png create mode 100644 docs/images/easy-docker/overview/stack-creation/topology.png create mode 100644 docs/images/easy-docker/overview/stack-management/build-image.png create mode 100644 docs/images/easy-docker/overview/stack-management/running-stack.png create mode 100644 docs/images/easy-docker/overview/stack-management/start-stack.png diff --git a/docs/10-easy-docker/01-overview.md b/docs/10-easy-docker/01-overview.md index bab00fab..b05f1a8c 100644 --- a/docs/10-easy-docker/01-overview.md +++ b/docs/10-easy-docker/01-overview.md @@ -4,32 +4,206 @@ title: Overview # Overview -`easy-docker` guides the main stack lifecycle through menus instead of requiring -users to assemble long Docker and Bench commands by hand. +`easy-docker` is the guided terminal workflow for setting up and managing a +Frappe Docker stack from one place. -Current scope: +Instead of collecting Docker Compose, image build, and Bench commands manually, +you move through a small set of menus that guide the main lifecycle of a stack. -- create a stack -- choose the topology -- configure apps and branches +The interface is powered by `gum`, which is used to render the interactive +terminal menus and prompts. + +All stack data created by the wizard is written into the repository-local +`.easy-docker` directory. That includes the generated stack environment files +and the stack-specific metadata used by the workflow. + +This means `easy-docker` is not a closed system. After the setup has been +created, you can still inspect the generated files, keep working with them +manually, and continue outside the wizard if that fits your workflow better. + +## What It Helps With + +`easy-docker` is built to make the usual stack workflow easier to follow: + +- create a new stack +- choose the stack setup path +- select apps and branches +- generate the stack environment - build the custom image -- start, restart, stop, and delete the stack +- start, stop, restart, or delete the stack - create and manage a site -- install and uninstall apps on an existing site -- create a site backup +- install or uninstall apps on the site +- create backups and run site maintenance actions -Current limitations: +## How It Feels to Use -- `single-host` is the supported path -- `split-services` is still marked as in development -- site management currently assumes one configured site per stack -- backup and app management are focused on the configured stack image and site +The workflow is organized as a guided sequence. -Current setup-type behavior: +You start with a stack, define how it should be configured, let the wizard write +the stack files, then continue into the management area for image, runtime, and +site actions. -- `development` stacks enable `developer_mode` automatically for newly created sites +This makes `easy-docker` useful both for first-time setup and for returning to +an existing stack later when you need to update apps, rebuild an image, restart +services, or work on the site itself. -The current entrypoint is: +If you have not worked with a guided Docker setup before, it helps to think of +`easy-docker` as a step-by-step assistant. It does not ask you to memorize the +Docker commands first. Instead, it asks a small number of questions, writes the +stack configuration for you, and then gives you a menu for the most common next +actions. + +![Easy Docker main menu](../images/easy-docker/overview/main-menu.png) + +## What It Needs + +To run `easy-docker`, the environment should have: + +- a working `docker` CLI +- Docker Compose v2 through `docker compose` +- a running Docker daemon +- `gum` for the interactive terminal UI + +When `gum` is already installed, the wizard uses it directly. + +When `gum` is missing, `easy-docker` first tries to install it through the +system package manager. If that is not available or does not succeed, the +wizard can fall back to a pinned GitHub release and install `gum` +automatically when possible. + +This means the usual setup flow is: + +- check whether `gum` is already available +- try package-manager installation first +- use the verified fallback path only if needed +- continue into the wizard once the required tooling is ready + +The Docker requirements are also checked on startup so the workflow stops early +with guidance instead of failing later in the middle of stack setup. + +## Main Areas + +### Stack Creation + +The stack creation flow collects the main decisions up front and stores them in +the stack directory so the workflow can be resumed later. + +This is where you define the stack identity, choose the setup path, and prepare +the generated configuration for the next steps. + +A typical stack creation run moves through these prompts: + +1. Name the stack and choose the Frappe version profile. + +The stack name is simply the label under which `easy-docker` will remember this +setup. If you plan to run more than one setup later, choose a name that makes +the purpose obvious. + +The Frappe version profile is the base version the stack should start from. If +you are unsure, pick the version you intend to use for the actual project or +the version your apps are built for. + +![Stack name](../images/easy-docker/overview/stack-creation/name.png) + +![Frappe version profile](../images/easy-docker/overview/stack-creation/frappe-version.png) + +2. Choose the deployment topology and the main infrastructure options. + +In this phase, the wizard asks how the stack should be structured. For most +users, this is the point where you choose the simplest practical setup and let +the wizard generate the rest of the configuration around it. + +The proxy and database choices decide how traffic reaches the stack and where +the site data is stored. Even if you do not know every Docker detail yet, the +important part is that these choices describe how your stack should behave once +it is running. + +![Topology selection](../images/easy-docker/overview/stack-creation/topology.png) + +![Proxy mode selection](../images/easy-docker/overview/stack-creation/proxy-mode.png) + +![Database selection](../images/easy-docker/overview/stack-creation/database.png) + +3. Define the image naming and versioning that should be used for the stack. + +This step controls the image that will later be built for your stack. You can +think of it as naming the packaged application that Docker should run. + +The image name identifies the image, while the image version or tag helps you +track which build you are currently using. That becomes especially useful when +you rebuild the stack after changing app branches or updating the setup. + +![Custom image naming](../images/easy-docker/overview/stack-creation/image-name.png) + +![Custom image version](../images/easy-docker/overview/stack-creation/image-version.png) + +4. Select the apps and branches that should be built into the stack image. + +This is the point where you decide what should actually be included in the +stack. The app selection defines the application set, and the branch selection +defines which code line of each app should be used for the build. + +For new users, the practical rule is simple: only include the apps you really +need, and choose branches that match the Frappe version profile you selected +earlier. + +![App selection](../images/easy-docker/overview/stack-creation/app-selection.png) + +![App version selection](../images/easy-docker/overview/stack-creation/app-version.png) + +After these decisions, `easy-docker` has enough information to write the stack +files and prepare the next phase. At that point, the workflow moves from +planning the stack to actually building and running it. + +### Stack Management + +Once a stack exists, `easy-docker` becomes the control point for the stack: + +- app selection and branch updates +- custom image build and rebuild +- Compose lifecycle actions +- site operations such as create, migrate, backup, and delete + +That means the same workflow continues after setup instead of ending once the +first stack files are written. + +The first management steps usually focus on preparing the image and bringing the +stack up in Docker Compose. + +The build step creates the actual Docker image for the stack you just defined. +Until that image exists, there is nothing concrete for Docker Compose to start. +That is why the build action comes before the start action. + +![Build image action](../images/easy-docker/overview/stack-management/build-image.png) + +Once the image has been built successfully, you can start the stack. This tells +Docker Compose to create the containers and launch the services that belong to +your setup. + +![Start stack action](../images/easy-docker/overview/stack-management/start-stack.png) + +After startup, the status view helps you confirm that the stack is actually +running. This is especially useful for beginners because it gives a visible +checkpoint before moving on to site creation or later maintenance steps. + +![Running stack status](../images/easy-docker/overview/stack-management/running-stack.png) + +From there, the workflow usually continues into site-level actions such as +creating the first site, installing apps on the site, running migrations, or +creating backups. In other words: stack creation defines the environment, and +stack management is where that environment becomes usable. + +### Development Stacks + +When you create a stack through the development path, newly created sites in +that stack automatically enable `developer_mode`. + +This keeps the development-specific behavior attached to the stack itself, so +the workflow stays consistent when you return to manage it later. + +## Entry Point + +Run the wizard from the repository root: ```bash bash easy-docker.sh diff --git a/docs/images/easy-docker/overview/main-menu.png b/docs/images/easy-docker/overview/main-menu.png new file mode 100644 index 0000000000000000000000000000000000000000..5f1b078f2323bb24fd73004a415761c048a5e38d GIT binary patch literal 2914 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 literal 0 HcmV?d00001 diff --git a/docs/images/easy-docker/overview/stack-creation/app-selection.png b/docs/images/easy-docker/overview/stack-creation/app-selection.png new file mode 100644 index 0000000000000000000000000000000000000000..bd30bc0f62b70cb762ccabe2388a8aed6187aa9b GIT binary patch literal 3975 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 literal 0 HcmV?d00001 diff --git a/docs/images/easy-docker/overview/stack-creation/app-version.png b/docs/images/easy-docker/overview/stack-creation/app-version.png new file mode 100644 index 0000000000000000000000000000000000000000..4b16d755bf28ab77802481d3380642c0e4eded6c GIT binary patch literal 4101 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 literal 0 HcmV?d00001 diff --git a/docs/images/easy-docker/overview/stack-creation/database.png b/docs/images/easy-docker/overview/stack-creation/database.png new file mode 100644 index 0000000000000000000000000000000000000000..f6f26a19de0515ab21363e555da91bc517e561a5 GIT binary patch literal 3404 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 LfVOY24W#}ba=lWm literal 0 HcmV?d00001 diff --git a/docs/images/easy-docker/overview/stack-creation/frappe-version.png b/docs/images/easy-docker/overview/stack-creation/frappe-version.png new file mode 100644 index 0000000000000000000000000000000000000000..6ac629338428cb86a71bfce48eec8804a0168ea9 GIT binary patch literal 4743 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 literal 0 HcmV?d00001 diff --git a/docs/images/easy-docker/overview/stack-creation/image-name.png b/docs/images/easy-docker/overview/stack-creation/image-name.png new file mode 100644 index 0000000000000000000000000000000000000000..499a603abd42518fb565685dfba881f11baa650f GIT binary patch literal 3550 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 literal 0 HcmV?d00001 diff --git a/docs/images/easy-docker/overview/stack-creation/image-version.png b/docs/images/easy-docker/overview/stack-creation/image-version.png new file mode 100644 index 0000000000000000000000000000000000000000..b4333e3b8588d8b4e92c695c8b7ebcc2feee7341 GIT binary patch literal 3181 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 T;-Gl^f8a2ISr`(bzsLO(E$V8_ literal 0 HcmV?d00001 diff --git a/docs/images/easy-docker/overview/stack-creation/name.png b/docs/images/easy-docker/overview/stack-creation/name.png new file mode 100644 index 0000000000000000000000000000000000000000..2a07299b60f9b8b4cbc0fc6606ca07ba420bd4de GIT binary patch literal 3880 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 Nz&b|SxVuk6{|j!mpyvPp literal 0 HcmV?d00001 diff --git a/docs/images/easy-docker/overview/stack-creation/proxy-mode.png b/docs/images/easy-docker/overview/stack-creation/proxy-mode.png new file mode 100644 index 0000000000000000000000000000000000000000..4417b31bf5dc5bdbeef4b3ec617567a307b251a8 GIT binary patch literal 6221 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 Aq5uE@ literal 0 HcmV?d00001 diff --git a/docs/images/easy-docker/overview/stack-creation/topology.png b/docs/images/easy-docker/overview/stack-creation/topology.png new file mode 100644 index 0000000000000000000000000000000000000000..da81592892cca4e5e3ef073464d422bdd5f9663e GIT binary patch literal 5626 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 GQU3#wA;H%G literal 0 HcmV?d00001 diff --git a/docs/images/easy-docker/overview/stack-management/build-image.png b/docs/images/easy-docker/overview/stack-management/build-image.png new file mode 100644 index 0000000000000000000000000000000000000000..51a1ac3e9707d020ed32c9acd4c4427418c52efa GIT binary patch literal 4697 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 literal 0 HcmV?d00001 diff --git a/docs/images/easy-docker/overview/stack-management/running-stack.png b/docs/images/easy-docker/overview/stack-management/running-stack.png new file mode 100644 index 0000000000000000000000000000000000000000..30f239f72d37b19e677539c320ea39936a46deec GIT binary patch literal 6086 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 literal 0 HcmV?d00001