Manage container stacks
mw stack createmw stack delete [STACK-ID]mw stack deploymw stack listmw stack lsmw stack psmw stack rm [STACK-ID]mw stack set-update-schedule STACK-ID SCHEDULEmw stack template install TEMPLATE-IDmw stack template listmw stack template lsmw stack unset-update-schedule STACK-IDmw stack up
Create a new container stack
USAGE
$ mw stack create -d <value> [--token <value>] [-p <value>] [-q] [--input <value>... --from-template <value>]
[-c]
FLAGS
-c, --update-context update the CLI context to use the newly created stack
-d, --description=<value> (required) description of the stack
-p, --project-id=<value> ID or short ID of a project; this flag is optional if a default project is set in the
context
-q, --quiet suppress process output and only display a machine-readable summary
--from-template=<value> ID of a container template to create the stack from
--input=<value>... user input for a template, in 'name=value' format
AUTHENTICATION FLAGS
--token=<value> API token to use for authentication (overrides environment and config file). NOTE: watch out that
tokens passed via this flag might be logged in your shell history.
DESCRIPTION
Create a new container stack
Creates a new, empty container stack, or a stack based on a container template.
When --from-template is given, the referenced template may define user inputs. These can be supplied non-interactively
with one or more --input flags in 'name=value' format; any required inputs that are neither provided nor have a
default value are prompted for interactively.
Use "mw stack template list" to discover available templates and their IDs. To add a template to a stack that already
exists, use "mw stack template install" instead.
EXAMPLES
Create an empty stack
$ mw stack create --description "my stack"
Create a stack from a template, providing user inputs
$ mw stack create --description "my n8n" --from-template <template-id> --input DOMAIN=example.com --input \
ADMIN_EMAIL=admin@example.com
FLAG DESCRIPTIONS
-p, --project-id=<value> ID or short ID of a project; this flag is optional if a default project is set in the context
May contain a short ID or a full ID of a project; you can also use the "mw context set --project-id=<VALUE>" command
to persistently set a default project for all commands that accept this flag.
-q, --quiet suppress process output and only display a machine-readable summary
This flag controls if you want to see the process output or only a summary. When using mw non-interactively (e.g. in
scripts), you can use this flag to easily get the IDs of created resources for further processing.
--from-template=<value> ID of a container template to create the stack from
When set, the stack is created from the given container template. Omit this flag to create an empty stack.
--input=<value>... user input for a template, in 'name=value' format
May be repeated to provide multiple inputs. Only applicable together with --from-template. Required inputs that are
not provided (and have no default) are prompted for interactively.
Delete a container stack
USAGE
$ mw stack delete [STACK-ID] [--token <value>] [-q] [-f] [-v]
ARGUMENTS
[STACK-ID] ID of a stack; this argument is optional if a default stack is set in the context.
FLAGS
-f, --force do not ask for confirmation
-q, --quiet suppress process output and only display a machine-readable summary
-v, --with-volumes also include remove volumes in removal
AUTHENTICATION FLAGS
--token=<value> API token to use for authentication (overrides environment and config file). NOTE: watch out that
tokens passed via this flag might be logged in your shell history.
DESCRIPTION
Delete a container stack
ALIASES
$ mw stack rm
FLAG DESCRIPTIONS
-q, --quiet suppress process output and only display a machine-readable summary
This flag controls if you want to see the process output or only a summary. When using mw non-interactively (e.g. in
scripts), you can use this flag to easily get the IDs of created resources for further processing.
-v, --with-volumes also include remove volumes in removal
Only relevant for a project's default stack, which is emptied instead of removed; the volumes of any other stack are
removed together with the stack itself.
Deploys a docker-compose compatible file to a mittwald container stack
USAGE
$ mw stack deploy [--token <value>] [-s <value>] [-q] [-o txt|json] [-c <value> | --from-template <value>]
[--env-file <value>] [-f]
FLAGS
-c, --compose-file=<value> [default: ./docker-compose.yml] path to a compose file, or "-" to read from stdin
-f, --force do not ask for confirmation when containers will be deleted
-o, --output=<option> [default: txt] The output format to use; use 'txt' for a human readable text
representation, and 'json' for a machine-readable JSON representation.
<options: txt|json>
-q, --quiet suppress process output and only display a machine-readable summary
-s, --stack-id=<value> ID of a stack; this flag is optional if a default stack is set in the context
--env-file=<value> [default: ./.env] alternative path to file with environment variables
--from-template=<value> deploy from a GitHub template (e.g., mittwald/n8n)
AUTHENTICATION FLAGS
--token=<value> API token to use for authentication (overrides environment and config file). NOTE: watch out that
tokens passed via this flag might be logged in your shell history.
DESCRIPTION
Deploys a docker-compose compatible file to a mittwald container stack
ALIASES
$ mw stack up
FLAG DESCRIPTIONS
-q, --quiet suppress process output and only display a machine-readable summary
This flag controls if you want to see the process output or only a summary. When using mw non-interactively (e.g. in
scripts), you can use this flag to easily get the IDs of created resources for further processing.
-s, --stack-id=<value> ID of a stack; this flag is optional if a default stack is set in the context
May contain a ID of a stack; you can also use the "mw context set --stack-id=<VALUE>" command to persistently set a
default stack for all commands that accept this flag.
--from-template=<value> deploy from a GitHub template (e.g., mittwald/n8n)
DEPRECATED: use "mw stack create --from-template" instead. This flag uses an older, GitHub-based template mechanism.
Fetch and deploy a stack from a GitHub template repository. Template names are automatically converted to repository
names by prefixing "stack-template-" to the name part.
For example, "mittwald/n8n" resolves to the repository "mittwald/stack-template-n8n". The command fetches both
docker-compose.yml and .env files from the main branch.
Environment variable precedence (from lowest to highest):
1. Template .env file (if present in the repository)
2. System environment variables (process.env)
3. Local --env-file (if specified)
This flag is mutually exclusive with --compose-file.
List container stacks for a given project.
USAGE
$ mw stack list -o txt|json|yaml|csv|tsv [--token <value>] [-x] [--no-header] [--no-truncate]
[--no-relative-dates] [--csv-separator ,|;] [-p <value>]
FLAGS
-o, --output=<option> (required) [default: txt] output in a more machine friendly format
<options: txt|json|yaml|csv|tsv>
-p, --project-id=<value> ID or short ID of a project; this flag is optional if a default project is set in the
context
-x, --extended show extended information
--csv-separator=<option> [default: ,] separator for CSV output (only relevant for CSV output)
<options: ,|;>
--no-header hide table header
--no-relative-dates show dates in absolute format, not relative (only relevant for txt output)
--no-truncate do not truncate output (only relevant for txt output)
AUTHENTICATION FLAGS
--token=<value> API token to use for authentication (overrides environment and config file). NOTE: watch out that
tokens passed via this flag might be logged in your shell history.
DESCRIPTION
List container stacks for a given project.
ALIASES
$ mw stack ls
FLAG DESCRIPTIONS
-p, --project-id=<value> ID or short ID of a project; this flag is optional if a default project is set in the context
May contain a short ID or a full ID of a project; you can also use the "mw context set --project-id=<VALUE>" command
to persistently set a default project for all commands that accept this flag.
List container stacks for a given project.
USAGE
$ mw stack ls -o txt|json|yaml|csv|tsv [--token <value>] [-x] [--no-header] [--no-truncate]
[--no-relative-dates] [--csv-separator ,|;] [-p <value>]
FLAGS
-o, --output=<option> (required) [default: txt] output in a more machine friendly format
<options: txt|json|yaml|csv|tsv>
-p, --project-id=<value> ID or short ID of a project; this flag is optional if a default project is set in the
context
-x, --extended show extended information
--csv-separator=<option> [default: ,] separator for CSV output (only relevant for CSV output)
<options: ,|;>
--no-header hide table header
--no-relative-dates show dates in absolute format, not relative (only relevant for txt output)
--no-truncate do not truncate output (only relevant for txt output)
AUTHENTICATION FLAGS
--token=<value> API token to use for authentication (overrides environment and config file). NOTE: watch out that
tokens passed via this flag might be logged in your shell history.
DESCRIPTION
List container stacks for a given project.
ALIASES
$ mw stack ls
FLAG DESCRIPTIONS
-p, --project-id=<value> ID or short ID of a project; this flag is optional if a default project is set in the context
May contain a short ID or a full ID of a project; you can also use the "mw context set --project-id=<VALUE>" command
to persistently set a default project for all commands that accept this flag.
List all services within a given container stack.
USAGE
$ mw stack ps -o txt|json|yaml|csv|tsv [--token <value>] [-x] [--no-header] [--no-truncate]
[--no-relative-dates] [--csv-separator ,|;] [-s <value>]
FLAGS
-o, --output=<option> (required) [default: txt] output in a more machine friendly format
<options: txt|json|yaml|csv|tsv>
-s, --stack-id=<value> ID of a stack; this flag is optional if a default stack is set in the context
-x, --extended show extended information
--csv-separator=<option> [default: ,] separator for CSV output (only relevant for CSV output)
<options: ,|;>
--no-header hide table header
--no-relative-dates show dates in absolute format, not relative (only relevant for txt output)
--no-truncate do not truncate output (only relevant for txt output)
AUTHENTICATION FLAGS
--token=<value> API token to use for authentication (overrides environment and config file). NOTE: watch out that
tokens passed via this flag might be logged in your shell history.
DESCRIPTION
List all services within a given container stack.
FLAG DESCRIPTIONS
-s, --stack-id=<value> ID of a stack; this flag is optional if a default stack is set in the context
May contain a ID of a stack; you can also use the "mw context set --stack-id=<VALUE>" command to persistently set a
default stack for all commands that accept this flag.
Delete a container stack
USAGE
$ mw stack rm [STACK-ID] [--token <value>] [-q] [-f] [-v]
ARGUMENTS
[STACK-ID] ID of a stack; this argument is optional if a default stack is set in the context.
FLAGS
-f, --force do not ask for confirmation
-q, --quiet suppress process output and only display a machine-readable summary
-v, --with-volumes also include remove volumes in removal
AUTHENTICATION FLAGS
--token=<value> API token to use for authentication (overrides environment and config file). NOTE: watch out that
tokens passed via this flag might be logged in your shell history.
DESCRIPTION
Delete a container stack
ALIASES
$ mw stack rm
FLAG DESCRIPTIONS
-q, --quiet suppress process output and only display a machine-readable summary
This flag controls if you want to see the process output or only a summary. When using mw non-interactively (e.g. in
scripts), you can use this flag to easily get the IDs of created resources for further processing.
-v, --with-volumes also include remove volumes in removal
Only relevant for a project's default stack, which is emptied instead of removed; the volumes of any other stack are
removed together with the stack itself.
Set the update schedule of a container stack
USAGE
$ mw stack set-update-schedule STACK-ID SCHEDULE [--token <value>] [-q] [--timezone <value>]
ARGUMENTS
STACK-ID ID of the stack
SCHEDULE Cron expression for the update schedule
FLAGS
-q, --quiet suppress process output and only display a machine-readable summary
--timezone=<value> Timezone for the update schedule (for example UTC or Europe/Berlin)
AUTHENTICATION FLAGS
--token=<value> API token to use for authentication (overrides environment and config file). NOTE: watch out that
tokens passed via this flag might be logged in your shell history.
DESCRIPTION
Set the update schedule of a container stack
FLAG DESCRIPTIONS
-q, --quiet suppress process output and only display a machine-readable summary
This flag controls if you want to see the process output or only a summary. When using mw non-interactively (e.g. in
scripts), you can use this flag to easily get the IDs of created resources for further processing.
Install a template into an existing container stack
USAGE
$ mw stack template install TEMPLATE-ID [--token <value>] [-s <value>] [-q] [--input <value>...]
ARGUMENTS
TEMPLATE-ID ID of the container template to install
FLAGS
-q, --quiet suppress process output and only display a machine-readable summary
-s, --stack-id=<value> ID of a stack; this flag is optional if a default stack is set in the context
--input=<value>... user input for the template, in 'name=value' format
AUTHENTICATION FLAGS
--token=<value> API token to use for authentication (overrides environment and config file). NOTE: watch out that
tokens passed via this flag might be logged in your shell history.
DESCRIPTION
Install a template into an existing container stack
Adds the services and volumes of a container template to a stack that already exists, instead of creating a new stack
for it.
This is intended for templates of type "component"; use "mw stack create --from-template" to create a new stack from a
standalone template.
Template user inputs can be supplied non-interactively with one or more --input flags in 'name=value' format; any
required inputs that are neither provided nor have a default value are prompted for interactively.
EXAMPLES
Install a template into the stack from the current context
$ mw stack template install <template-id>
Install a template into a specific stack, with inputs
$ mw stack template install <template-id> --stack-id <stack-id> --input DB_NAME=mydb
FLAG DESCRIPTIONS
-q, --quiet suppress process output and only display a machine-readable summary
This flag controls if you want to see the process output or only a summary. When using mw non-interactively (e.g. in
scripts), you can use this flag to easily get the IDs of created resources for further processing.
-s, --stack-id=<value> ID of a stack; this flag is optional if a default stack is set in the context
May contain a ID of a stack; you can also use the "mw context set --stack-id=<VALUE>" command to persistently set a
default stack for all commands that accept this flag.
--input=<value>... user input for the template, in 'name=value' format
May be repeated to provide multiple inputs. Required inputs that are not provided (and have no default) are prompted
for interactively.
List container templates that stacks can be created from.
USAGE
$ mw stack template list -o txt|json|yaml|csv|tsv [--token <value>] [-x] [--no-header] [--no-truncate]
[--no-relative-dates] [--csv-separator ,|;] [--category <value>] [--type component|standalone]
FLAGS
-o, --output=<option> (required) [default: txt] output in a more machine friendly format
<options: txt|json|yaml|csv|tsv>
-x, --extended show extended information
--category=<value> only list templates belonging to the given category
--csv-separator=<option> [default: ,] separator for CSV output (only relevant for CSV output)
<options: ,|;>
--no-header hide table header
--no-relative-dates show dates in absolute format, not relative (only relevant for txt output)
--no-truncate do not truncate output (only relevant for txt output)
--type=<option> only list templates of the given type
<options: component|standalone>
AUTHENTICATION FLAGS
--token=<value> API token to use for authentication (overrides environment and config file). NOTE: watch out that
tokens passed via this flag might be logged in your shell history.
DESCRIPTION
List container templates that stacks can be created from.
ALIASES
$ mw stack template ls
EXAMPLES
List all templates of a given category
$ mw stack template list --category cms
List only standalone templates
$ mw stack template list --type standalone
List container templates that stacks can be created from.
USAGE
$ mw stack template ls -o txt|json|yaml|csv|tsv [--token <value>] [-x] [--no-header] [--no-truncate]
[--no-relative-dates] [--csv-separator ,|;] [--category <value>] [--type component|standalone]
FLAGS
-o, --output=<option> (required) [default: txt] output in a more machine friendly format
<options: txt|json|yaml|csv|tsv>
-x, --extended show extended information
--category=<value> only list templates belonging to the given category
--csv-separator=<option> [default: ,] separator for CSV output (only relevant for CSV output)
<options: ,|;>
--no-header hide table header
--no-relative-dates show dates in absolute format, not relative (only relevant for txt output)
--no-truncate do not truncate output (only relevant for txt output)
--type=<option> only list templates of the given type
<options: component|standalone>
AUTHENTICATION FLAGS
--token=<value> API token to use for authentication (overrides environment and config file). NOTE: watch out that
tokens passed via this flag might be logged in your shell history.
DESCRIPTION
List container templates that stacks can be created from.
ALIASES
$ mw stack template ls
EXAMPLES
List all templates of a given category
$ mw stack template ls --category cms
List only standalone templates
$ mw stack template ls --type standalone
Unset the update schedule of a container stack
USAGE
$ mw stack unset-update-schedule STACK-ID [--token <value>] [-q]
ARGUMENTS
STACK-ID ID of the stack
FLAGS
-q, --quiet suppress process output and only display a machine-readable summary
AUTHENTICATION FLAGS
--token=<value> API token to use for authentication (overrides environment and config file). NOTE: watch out that
tokens passed via this flag might be logged in your shell history.
DESCRIPTION
Unset the update schedule of a container stack
FLAG DESCRIPTIONS
-q, --quiet suppress process output and only display a machine-readable summary
This flag controls if you want to see the process output or only a summary. When using mw non-interactively (e.g. in
scripts), you can use this flag to easily get the IDs of created resources for further processing.
Deploys a docker-compose compatible file to a mittwald container stack
USAGE
$ mw stack up [--token <value>] [-s <value>] [-q] [-o txt|json] [-c <value> | --from-template <value>]
[--env-file <value>] [-f]
FLAGS
-c, --compose-file=<value> [default: ./docker-compose.yml] path to a compose file, or "-" to read from stdin
-f, --force do not ask for confirmation when containers will be deleted
-o, --output=<option> [default: txt] The output format to use; use 'txt' for a human readable text
representation, and 'json' for a machine-readable JSON representation.
<options: txt|json>
-q, --quiet suppress process output and only display a machine-readable summary
-s, --stack-id=<value> ID of a stack; this flag is optional if a default stack is set in the context
--env-file=<value> [default: ./.env] alternative path to file with environment variables
--from-template=<value> deploy from a GitHub template (e.g., mittwald/n8n)
AUTHENTICATION FLAGS
--token=<value> API token to use for authentication (overrides environment and config file). NOTE: watch out that
tokens passed via this flag might be logged in your shell history.
DESCRIPTION
Deploys a docker-compose compatible file to a mittwald container stack
ALIASES
$ mw stack up
FLAG DESCRIPTIONS
-q, --quiet suppress process output and only display a machine-readable summary
This flag controls if you want to see the process output or only a summary. When using mw non-interactively (e.g. in
scripts), you can use this flag to easily get the IDs of created resources for further processing.
-s, --stack-id=<value> ID of a stack; this flag is optional if a default stack is set in the context
May contain a ID of a stack; you can also use the "mw context set --stack-id=<VALUE>" command to persistently set a
default stack for all commands that accept this flag.
--from-template=<value> deploy from a GitHub template (e.g., mittwald/n8n)
DEPRECATED: use "mw stack create --from-template" instead. This flag uses an older, GitHub-based template mechanism.
Fetch and deploy a stack from a GitHub template repository. Template names are automatically converted to repository
names by prefixing "stack-template-" to the name part.
For example, "mittwald/n8n" resolves to the repository "mittwald/stack-template-n8n". The command fetches both
docker-compose.yml and .env files from the main branch.
Environment variable precedence (from lowest to highest):
1. Template .env file (if present in the repository)
2. System environment variables (process.env)
3. Local --env-file (if specified)
This flag is mutually exclusive with --compose-file.