Skip to content

Commit d9f19be

Browse files
authored
Merge pull request #2 from Johannes7k75/main
Rename application to stack
2 parents 2b2979e + 269ffe6 commit d9f19be

File tree

14 files changed

+53
-53
lines changed

14 files changed

+53
-53
lines changed

docs/.vitepress/config.mts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ export default {
9999
{ text: 'Volumes', link: '/manifest/volumes' },
100100
{ text: 'Networks', link: '/manifest/networks' },
101101
{ text: 'Filesets', link: '/manifest/filesets' },
102-
{ text: 'Applications', link: '/manifest/applications' },
102+
{ text: 'Stacks', link: '/manifest/stacks' },
103103
]
104104
},
105105
{

docs/introduction/getting_started.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ my-project/
6060
└── docker-compose.yml
6161
```
6262

63-
Each application (`app1`, `app2`, `app3`) has its own folder containing one or more Compose files and optional configuration. The `dockform.yml` manifest ties everything together.
63+
Each stack (`app1`, `app2`, `app3`) has its own folder containing one or more Compose files and optional configuration. The `dockform.yml` manifest ties everything together.
6464

6565
---
6666

docs/introduction/what_is_dockform.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ title: What is Dockform?
55
# What is Dockform?
66

77
Dockform extends Docker Compose with a fully declarative workflow.
8-
It lets you manage not only your Compose applications, but also the supporting resources that normally sit outside of `docker-compose.yml` — such as external networks, volume lifecycles, secrets, and configuration files.
8+
It lets you manage not only your Compose stacks, but also the supporting resources that normally sit outside of `docker-compose.yml` — such as external networks, volume lifecycles, secrets, and configuration files.
99

1010
Think of Dockform as the missing declarative layer for everything you’d otherwise configure manually with commands like `docker network create`, `docker volume create`, or ad-hoc shell scripts. All of it is written as code, stored in a manifest, and applied consistently.
1111

docs/manifest/filesets.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ title: Filesets
55
# Filesets
66

77
Filesets keep a local directory in sync with a path inside a Docker volume.
8-
They let you manage application config, assets, or seeds declaratively, without baking files into images.
8+
They let you manage stack config, assets, or seeds declaratively, without baking files into images.
99

1010
- **Declarative sync**: define the source, target volume, and target path; Dockform syncs diffs only.
1111
- **Idempotent and incremental**: only changed, added, or removed files are applied.
@@ -122,10 +122,10 @@ filesets:
122122

123123
**Hot mode workflow:**
124124
1. Sync files to volume (containers keep running)
125-
2. Apply application changes via `docker compose up`
125+
2. Apply stack changes via `docker compose up`
126126
3. Restart services listed in `restart_services`
127127

128-
This is the fastest mode and works well for most applications that can reload configuration without stopping.
128+
This is the fastest mode and works well for most stacks that can reload configuration without stopping.
129129

130130
### Cold Mode
131131

@@ -149,7 +149,7 @@ filesets:
149149
3. Start the previously stopped services
150150

151151
Use cold mode when:
152-
- The application requires files to be updated only when stopped
152+
- The stack requires files to be updated only when stopped
153153
- File changes could corrupt running processes
154154
- You need atomic file updates across multiple files
155155
- Database configurations or other critical system files need updating
@@ -166,7 +166,7 @@ Cold mode does nothing if no targets are set (allowed). It only changes the sync
166166
| Static assets | `hot` | No restart needed, just file sync |
167167
| Database configs | `cold` | Requires clean shutdown/startup |
168168
| SSL certificates | `hot` | Most apps can reload certs |
169-
| Application binaries | `cold` | Files must not change while running |
169+
| Stack binaries | `cold` | Files must not change while running |
170170

171171
## Restart targets
172172

@@ -221,7 +221,7 @@ When `preserve_existing` is enabled, existing files keep their prior owner and m
221221
::: code-group
222222

223223
```yaml [dockform.yaml]
224-
applications:
224+
stacks:
225225
web:
226226
root: ./web
227227
project:
@@ -259,14 +259,14 @@ volumes:
259259
- Run `dockform plan` to preview volume creation and fileset changes.
260260
- Run `dockform apply` to sync files, start/update services, and restart any listed services.
261261

262-
## Example: application requiring cold updates
262+
## Example: stack requiring cold updates
263263

264-
Some applications require that configuration files are only updated when the container is stopped. For example, certain media management tools or databases that lock configuration files:
264+
Some stacks require that configuration files are only updated when the container is stopped. For example, certain media management tools or databases that lock configuration files:
265265

266266
::: code-group
267267

268268
```yaml [dockform.yaml]
269-
applications:
269+
stacks:
270270
media:
271271
root: ./media
272272

docs/manifest/interpolation.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ E.g.:
4646
::: code-group
4747
```yaml [dockform.yaml]
4848
...
49-
applications:
49+
stacks:
5050
website:
5151
root: website
5252
environment:

docs/manifest/networks.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ networks:
7575
- Lists existing labeled networks and creates any missing ones from `networks:`.
7676
- Detects drift by inspecting actual driver/options/IPAM vs manifest; if different, safely recreates the network (see below).
7777
- Labels networks with `io.dockform.identifier=<docker.identifier>`.
78-
- Proceeds to run `docker compose up` for applications.
78+
- Proceeds to run `docker compose up` for stacks.
7979
- **destroy**: discovers all labeled resources for the current identifier and removes them, including networks.
8080

8181
Notes:
@@ -91,7 +91,7 @@ docker:
9191
context: default
9292
identifier: staging
9393
94-
applications:
94+
stacks:
9595
app:
9696
root: ./app
9797
project:

docs/manifest/overview.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ outline: deep
55

66
# The Manifest File
77

8-
A Dockform manifest is a single YAML file that defines all resources needed for a Compose project. With it, you can declare applications, environment variables, secrets, volumes, networks, and filesets in one place, making your stack fully reproducible and declarative.
8+
A Dockform manifest is a single YAML file that defines all resources needed for a Compose project. With it, you can declare stacks, environment variables, secrets, volumes, networks, and filesets in one place, making your stack fully reproducible and declarative.
99

1010
## Overview
1111

@@ -34,7 +34,7 @@ secrets:
3434
sops:
3535
- secrets.env
3636

37-
applications:
37+
stacks:
3838
web:
3939
root: ./web
4040
files:
@@ -108,9 +108,9 @@ Dockform uses this string to label and group all managed resources.
108108

109109
## Environment Variables
110110

111-
You can define global or app-specific environment variables. Variables declared at the root level apply to all applications. Variables under `applications.<app>.environment` are scoped to that application only.
111+
You can define global or stack-specific environment variables. Variables declared at the root level apply to all stacks. Variables under `stcks.<app>.environment` are scoped to that stack only.
112112

113-
> In case of conflict, application-specific variables override global variables.
113+
> In case of conflict, stack-specific variables override global variables.
114114

115115
::: code-group
116116

@@ -124,7 +124,7 @@ environment:
124124
```
125125

126126
```yaml [Scoped]
127-
applications:
127+
stacks:
128128
web:
129129
environment:
130130
files:
@@ -150,9 +150,9 @@ Array of `KEY=VALUE` entries declared directly in the manifest.
150150

151151
## Secrets
152152

153-
Secrets can also be global or app-specific. Root-level secrets are exposed to all applications, while `applications.<app>.secrets` only apply to that app.
153+
Secrets can also be global or app-specific. Root-level secrets are exposed to all stacks, while `stacks.<app>.secrets` only apply to that app.
154154

155-
> In case of conflict, application-specific secrets override global ones.
155+
> In case of conflict, stack-specific secrets override global ones.
156156

157157
Secrets are managed with [SOPS](https://github.com/getsops/sops). Dockform supports both **Age** and **PGP (GnuPG)** backends. See [Secrets Workflow](secrets/secrets) for details.
158158

@@ -173,7 +173,7 @@ secrets:
173173
```
174174

175175
```yaml [Scoped]
176-
applications:
176+
stacks:
177177
web:
178178
secrets:
179179
sops:
@@ -209,15 +209,15 @@ Name of a Docker [named volume](https://docs.docker.com/engine/storage/volumes/)
209209

210210
Name of a Docker [network](https://docs.docker.com/reference/cli/docker/network/create/).
211211

212-
## Applications
212+
## Stacks
213213

214-
The `applications` block is where all Docker Compose configurations converge.
214+
The `stacks` block is where all Docker Compose configurations converge.
215215

216-
### `<application_name>` <Badge type="warning" text="required" />
216+
### `<stack_name>` <Badge type="warning" text="required" />
217217
* Type: `Map`
218218
* Default: `null`
219219

220-
Name of the application.
220+
Name of the stack.
221221

222222
### `root` <Badge type="warning" text="required" />
223223
* Type: `String`
@@ -226,14 +226,14 @@ Name of the application.
226226
Path relative to the manifest file. Must contain at least one Docker Compose file.
227227

228228
::: tip
229-
All file paths under an application (Compose, dotenv, secrets) are resolved relative to this folder.
229+
All file paths under an stack (Compose, dotenv, secrets) are resolved relative to this folder.
230230
:::
231231

232232
### `files` <Badge type="tip" text="optional" />
233233
* Type: `Array`
234234
* Default: `[docker-compose.yml]` or `[docker-compose.yaml]`
235235

236-
List of Docker Compose files. If omitted, Dockform will look for `docker-compose.yml` or `docker-compose.yaml` in the application root.
236+
List of Docker Compose files. If omitted, Dockform will look for `docker-compose.yml` or `docker-compose.yaml` in the stack root.
237237

238238
### `profiles` <Badge type="tip" text="optional" />
239239
* Type: `Array`

docs/manifest/secrets/secrets.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -157,18 +157,18 @@ Dockform passes PGP recipients to SOPS via `--pgp`. If both Age and PGP recipien
157157
## Using secrets in your manifest
158158

159159
Reference the encrypted dotenv file inside your manifest.
160-
Secrets can be defined globally or scoped to a specific application.
160+
Secrets can be defined globally or scoped to a specific stack.
161161

162162
```yaml [dockform.yaml]
163163
secrets:
164164
sops:
165165
- app/secrets.env
166166
```
167167

168-
For application-specific secrets:
168+
For stack-specific secrets:
169169

170170
```yaml [dockform.yaml]
171-
applications:
171+
stacks:
172172
web:
173173
secrets:
174174
sops:
@@ -201,7 +201,7 @@ environment:
201201
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
202202
- OIDC_CLIENT_SECRET=${OIDC_CLIENT_SECRET}
203203
204-
applications:
204+
stacks:
205205
app:
206206
root: ./app
207207
files: [docker-compose.yaml]
Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
---
2-
title: Applications
2+
title: Stacks
33
---
44

5-
# Applications
5+
# Stacks
66

7-
Applications define where your Compose project lives and how Dockform should run it.
8-
Each application points to a folder (`root`) that contains your compose files and optional env files.
7+
Stacks define where your Compose project lives and how Dockform should run it.
8+
Each stack points to a folder (`root`) that contains your compose files and optional env files.
99

1010
- **Compose-first**: Dockform reads and runs your existing Compose files; it doesn’t replace them.
1111
- **Inline labeling**: during `apply`, Dockform injects the `io.dockform.identifier` label into services to scope what it manages.
1212
- **Deterministic**: env files and inline env are merged with clear precedence; defaults are filled consistently.
1313

14-
## Defining applications
14+
## Defining stacks
1515

16-
Each key under `applications:` defines one app. Minimum required field is `root`.
16+
Each key under `stacks:` defines one app. Minimum required field is `root`.
1717
If `files` is omitted, Dockform uses `docker-compose.yaml` (or `.yml`) in that folder.
1818

1919
```yaml [dockform.yaml]
@@ -27,7 +27,7 @@ environment:
2727
inline:
2828
- GLOBAL_ENV=global
2929

30-
applications:
30+
stacks:
3131
web:
3232
root: ./web
3333
files:
@@ -96,7 +96,7 @@ environment:
9696
inline:
9797
- GLOBAL_ENV=global
9898
99-
applications:
99+
stacks:
100100
app:
101101
root: ./app
102102
files: [docker-compose.yaml]

docs/manifest/volumes.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ In this example, the `traefik_config` volume will be created if missing, even if
7171
- **apply**:
7272
- Lists existing labeled volumes and creates any missing ones from `volumes:` and `filesets.target_volume`.
7373
- Labels volumes with `io.dockform.identifier=<docker.identifier>`.
74-
- Proceeds to sync filesets and run `docker compose up` for applications.
74+
- Proceeds to sync filesets and run `docker compose up` for stacks.
7575
- **destroy**: discovers all labeled resources for the current identifier and removes them, including volumes (fileset volumes first, then standalone).
7676

7777
### Snapshots and restore
@@ -109,7 +109,7 @@ docker:
109109
context: default
110110
identifier: staging
111111

112-
applications:
112+
stacks:
113113
app:
114114
root: ./app
115115
project:

0 commit comments

Comments
 (0)