# Build Arguments

{% hint style="info" %}
This functionality requires at least [auterion-app-api 3](https://docs.auterion.com/~/changes/TDRfjBXXgHmxK48cWqay/app-development/app-framework/app-framework-1) to be available
{% endhint %}

You may specify build-time arguments in the **auterion-app.yml** file using the `build-args` keyword:

{% code title="auterion-app.yml" %}

```yaml
services:
  test-app: 
    ssh: true
    build: .
    build-args:
      BAR: ${FOO}
```

{% endcode %}

The environment variable `FOO` and the docker build argument `BAR` can then be defined in the environment where auterion-cli is executed, for example:

```bash
# This will assign "123" to the BAR variable in the Dockerfile
FOO="123" auterion-cli app build
```

Alternatively the environment variable can be defined in a top-level `.env` file in the app directory:

{% code title=".env" %}

```yaml
# This will also assign "123" to the BAR variable in the Dockerfile
FOO="123"
```

{% endcode %}

{% hint style="info" %}
Note that environment variables defined from the command line will overwrite the variables already defined in the `.env` file.
{% endhint %}

The `BAR` docker build argument can then be used at build-time from your **Dockerfile**:

{% code title="Dockerfile" %}

```docker
FROM auterion/app-base:v2

ARG BAR
RUN echo "My docker build arg is ${BAR}"
```

{% endcode %}
