> For the complete documentation index, see [llms.txt](https://docs.stoobly.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.stoobly.com/guides/how-to-integrate-e2e-testing/how-to-run-a-workflow/running-with-cli-command.md).

# Running with CLI command

## Prerequisite

Install CA cert with:

`stoobly-agent ca-cert install`

## Steps to Run a Workflow

{% hint style="warning" %}
For Docker setups, the following is not needed for the test workflow
{% endhint %}

1. For each each service that has a hostname, add an entry in `/etc/hosts` (for Unix based systems) . This will allow DNS resolution to route requests to the local container proxies. Run the following command to add all services:

```
stoobly-agent scaffold hostname install --workflow <WORKFLOW_NAME>
```

* Optionally verify that `/etc/hosts` is now updated. Here's an example:

```
##### STOOBLY SCAFFOLD HOSTS BEGIN #####
127.0.0.1 api.sampleapis.com
::1       api.sampleapis.com
##### STOOBLY SCAFFOLD HOSTS END #####
```

2. Run the workflow run command in the root of the app directory

```bash
stoobly-agent scaffold workflow up <WORKFLOW-NAME> <OPTIONS>
```

For example:

```bash
stoobly-agent scaffold workflow up test
```

3. Enable intercept after the workflow has started

```bash
stoobly-agent intercept enable
```

For Docker runtime, use:

```bash
make -f .stoobly/services/.Makefile intercept/enable
```

4. For scaffold setups using the Docker runtime, sssuming we have created a service called `sampleapis`, then after running the command, the following containers will be running:
   1. \<WORKFLOW-NAME>-\<SERVICE-NAME>.proxy-1
   2. \<WORKFLOW-NAME>-gateway.service-1
   3. \<WORKFLOW-NAME>-stoobly\_ui.service-1

The following shows which containers are expected to be running using `docker ps`

```bash
$ docker ps
CONTAINER ID   IMAGE                        COMMAND                  CREATED          STATUS          PORTS                                                 NAMES
4eb6965fbfa6   record-sampleapis.proxy      "docker-entrypoint.s…"   6 seconds ago    Up 3 seconds    4200/tcp, 8080/tcp                                    record-sampleapis.proxy-1
5c02c177a3bd   nginxproxy/nginx-proxy:1.5   "/app/docker-entrypo…"   6 seconds ago    Up 3 seconds    80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp         record-gateway.service-1
01193cb75e03   record-stoobly_ui.service    "docker-entrypoint.s…"   6 seconds ago    Up 3 seconds    0.0.0.0:4200->4200/tcp, :::4200->4200/tcp, 8080/tcp   record-stoobly_ui.service-1
```

5. To learn more about workflows, see:

{% content-ref url="/pages/kGz1rovOOBYXXhoOcn3E" %}
[Workflow](/core-concepts/scaffold/workflow.md)
{% endcontent-ref %}

## Options

To see what options are available:

```bash
stoobly-agent scaffold workflow up -h
```
