# Installation

***

## Installing secator

{% tabs %}
{% tab title="Pipx" %}

```bash
pipx install secator
```

{% endtab %}

{% tab title="Pip" %}

```bash
pip install secator
```

{% endtab %}

{% tab title="Bash" %}

```bash
wget -O - https://raw.githubusercontent.com/freelabz/secator/main/scripts/install.sh | sh
```

{% endtab %}

{% tab title="Docker" %}

```bash
docker run -it --rm --net=host -v ~/.secator:/root/.secator freelabz/secator --help
```

{% hint style="info" %}
The volume mount `-v` is necessary to save all `secator` reports to your host machine, and`--net=host` is recommended to grant full access to the host network.
{% endhint %}

You can alias this command to run it easier:

```
alias secator="docker run -it --rm --net=host -v ~/.secator:/root/.secator freelabz/secator"
```

Now you can run `secator` like if it was installed on baremetal:

```
secator --help
```

{% endtab %}

{% tab title="Docker Compose" %}

<pre class="language-bash"><code class="lang-bash">git clone https://github.com/freelabz/secator
cd secator
<strong>docker-compose up -d
</strong><strong>docker-compose exec secator secator --help
</strong></code></pre>

{% endtab %}
{% endtabs %}

{% hint style="success" %}
If you chose the Bash, Docker, or Docker Compose installation methods, you can jump straight to [cli-usage](https://docs.freelabz.com/getting-started/cli-usage "mention").
{% endhint %}

***

## Installing languages (optional)

`secator` uses external tools, so you might need to install languages used by those tools assuming they are not already installed on your system.

We provide a subcommand to install required languages if you don't manage them externally:

<pre class="language-bash"><code class="lang-bash"><strong>secator install langs go   # install Go
</strong>secator install langs ruby # install Ruby
</code></pre>

***

## Installing tools (optional)

`secator` can install tools automatically at runtime (provided `security.auto_install_commands` is enabled, which is the default), but you can also do it manually.

We provide a subcommand to install or update each supported tool which should work on all systems supporting `apt`:

```bash
secator install tools httpx  # install httpx
secator install tools        # install all supported tools
```

***

## Installing addons (optional)

`secator` comes installed with the minimum amount of dependencies.

We provide a subcommand to install additional addons which are required for various features:

{% tabs %}
{% tab title="worker" %}
Add support for Celery (see [distributed-runs-with-celery](https://docs.freelabz.com/in-depth/distributed-runs-with-celery "mention")).

```sh
secator install addons worker
```

{% endtab %}

{% tab title="google" %}
Add support for Google Drive exporter (see [exporters](https://docs.freelabz.com/in-depth/concepts/exporters "mention")).

```sh
secator install addons google
```

{% endtab %}

{% tab title="mongodb" %}
Add support for MongoDB driver (see [#mongodb-driver](https://docs.freelabz.com/in-depth/concepts/drivers#mongodb-driver "mention")).

```sh
secator install addons mongodb
```

{% endtab %}

{% tab title="redis" %}
Add support for Celery Redis broker / backend.

```sh
secator install addons redis
```

{% endtab %}

{% tab title="dev" %}
Add development tools like `coverage` and `flake8` required for running tests.

```sh
secator install addons dev
```

{% endtab %}

{% tab title="trace" %}
Add tracing tools like `memray` and `pyinstrument` required for tracing functions.

```sh
secator install addons trace
```

{% endtab %}
{% endtabs %}

***

## Checking installation health

To figure out which languages or tools are installed on your system (along with their version):

```bash
secator health
```

<div align="left"><figure><img src="https://3064929067-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F787L9q3BUjAZ71WVY90V%2Fuploads%2F5QyuAxGetZsdyRoLSbYd%2F2025-04-29%2015_55_22-Debian%2010.x%2064-bit%20-%20VMware%20Workstation.png?alt=media&#x26;token=522dcf70-950c-4bdc-827e-af4311342d54" alt=""><figcaption><p>Secator Health CLI Output</p></figcaption></figure></div>

***


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.freelabz.com/getting-started/installation.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
